恶搞JS对象
本文关键字:对象 JS 恶搞 | 更新日期: 2023-09-27 18:02:20
我一直想知道是否有一种方法可以欺骗JS对象,如导航器,屏幕等,以便在页面请求时发送虚假数据。
我使用c#开发了一个包含GeckoFx浏览器的应用程序,我想做这样的事情:每次我打开一个包含JS的网页来检索关于用户的信息(例如屏幕分辨率,我安装了什么插件等),浏览器应该发送虚假信息(我的屏幕分辨率是1024x768,我想发送1440x900等)。
有谁能帮我了解这条信息吗?谢谢!
可以通过替换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中不起作用。我猜你不能跨浏览器做这个