恶搞JS对象

本文关键字:对象 JS 恶搞 | 更新日期: 2023-09-27 18:02:20

我一直想知道是否有一种方法可以欺骗JS对象,如导航器,屏幕等,以便在页面请求时发送虚假数据。

我使用c#开发了一个包含GeckoFx浏览器的应用程序,我想做这样的事情:每次我打开一个包含JS的网页来检索关于用户的信息(例如屏幕分辨率,我安装了什么插件等),浏览器应该发送虚假信息(我的屏幕分辨率是1024x768,我想发送1440x900等)。

有谁能帮我了解这条信息吗?

谢谢!

恶搞JS对象

可以通过替换JS对象来欺骗它们。显然,您必须非常小心,以免弄乱所需操作的功能。无论如何,这里有一个示例,说明如何替换screen对象以报告您想要的任何分辨率。

在jsFiddle中的作用:http://jsfiddle.net/jfriend00/bfAYe/

var oldScreen = screen;  // save old screen object just in case
var myScreen = {};       // create new screen object
// prefill with all properties of old object
for (var i in screen) {
    myScreen[i] = screen[i];
}
screen = myScreen;    // replace existing object with mine
screen.width = 1440;  // change properites on mine
screen.height = 900;
// verify that changed properties are in place
$("#container").html("width="+screen.width+", height="+screen.height);
// outputs width=1440, height=900

似乎在Opera和Chrome中工作,但在IE9, FF5或Safari中不起作用。我猜你不能跨浏览器做这个