全部好,
有没有办法禁用特定的JavaScript对象,而所有其他JS对象都可以执行?类似于顶行中的脚本,它控制页面上其余的JS代码。
例如,我想阻止执行navigator.userAgent
并让navigator.appVersion
可用。
或者甚至更高级的方式,执行结果必须由我定义。假设我的浏览器是FF 3.6.8,但navigator.userAgent
会退回IE 8.0
大多数情况下,我对禁用或取代返回有关用户浏览器,Cookie,分辨率和操作系统的信息的对象结果感兴趣
先谢谢。 Jevgenijs
答案 0 :(得分:0)
我不确定你为什么要这样做,但你可以通过在全局范围内声明一个具有相同名称的变量来覆盖 window 对象上的任何属性和方法: / p>
var navigator = {
userAgent: "",
appVersion: navigator.appVersion,
// etc...
}
alert(window.navigator.userAgent);
//-> ""
答案 1 :(得分:0)
@All:我在user.js文件(link text)中添加了以下内容并且有所帮助。现在,我的FF浏览器和操作系统类型都不会被任何网站识别,即使是通过iframe显示的那些也是如此。
user_pref("general.useragent.appName", "replacement string for appNameCode");
user_pref("general.appname.override", "replacement string for appName");
user_pref("general.useragent.override", "replacement string for userAgent");
user_pref("general.appversion.override", "replacement string for appVersion");
user_pref("general.platform.override", "replacement string for Platform");
现在可以覆盖screen.width, screen.heigh, screen.colorDepth
,但这些对象似乎无法通过user.js文件覆盖。
到目前为止只有一个想法: ...很可能FireFox JS引擎从操作系统中检索这些值,因此我需要知道Linux中的哪个文件(Ubuntu)存储这些值并临时更改它我需要。任何WIN OS都会变得更加困难,因为它将所有内容存储在该死的注册表中。我是对的吗?
还有什么想法?
此致