Javascript删除导航器对象

Javascript删除导航器对象,javascript,Javascript,在JavaScript窗口对象中,有一个导航器对象,它有许多描述客户端浏览器的属性,其中一个是名为插件的数组。我试图在我的个人浏览器(chrome)中禁用此功能,方法是在我查看的每个网页执行后注入JavaScript。换句话说,我不希望我的插件暴露在我访问的网站上 所以我写了这篇文章,将其包含在Chrome上的每个HTTP(S)响应中: (function(window) { delete window.navigator; }(window)); 但是导航器仍然存在,因为在控制台中,

在JavaScript
窗口
对象中,有一个
导航器
对象,它有许多描述客户端浏览器的属性,其中一个是名为
插件
的数组。我试图在我的个人浏览器(chrome)中禁用此功能,方法是在我查看的每个网页执行后注入JavaScript。换句话说,我不希望我的插件暴露在我访问的网站上

所以我写了这篇文章,将其包含在Chrome上的每个HTTP(S)响应中:

(function(window) {
    delete window.navigator;
}(window));
但是导航器仍然存在,因为在控制台中,当我测试它时,我看到:

但是,当我在控制台中手动键入
delete navigator
时,它会工作


那么为什么它不能与我的JavaScript一起工作呢?这不是脚本是否正在执行的问题,我已经确认了这一点,只是没有删除navigator对象。有什么想法吗?我还尝试将其设置为空对象,但没有任何东西使其不稳定…

尝试将
window.navigator
设置为另一个值。可以将其设置为空数组或对象

window.navigator = [];


无论哪种方式,重新定义navigator后,存储在navigator中的值都应该消失。

尝试将
window.navigator
设置为另一个值。可以将其设置为空数组或对象

window.navigator = [];


无论哪种方式,在重新定义navigator后,存储在navigator中的值都应该消失。

您是从页面底部加载该脚本吗?是的,我也用setTimeout()尝试过,如果脚本冲突,也没有什么区别。您是从页面底部加载该脚本吗?是的,我也用setTimeout()尝试过,在脚本冲突的情况下,也没有什么不同。我尝试过,我尝试过设置所有内容。。。window.navigator,window.navigator.plugins,设置为:{},[],新对象(),所有内容。。。重新分配的问题是没有内部setter方法,因此它不允许对navigator对象进行任何类型的重新分配,即使在控制台中,它也会立即恢复。在这种情况下,删除window.navigator的可能性非常小。据我所见,在某些浏览器中重新定义它是可能的,但您的浏览器似乎不支持此功能。我尝试过,我尝试过设置所有内容。。。window.navigator,window.navigator.plugins,设置为:{},[],新对象(),所有内容。。。重新分配的问题是没有内部setter方法,因此它不允许对navigator对象进行任何类型的重新分配,即使在控制台中,它也会立即恢复。在这种情况下,删除window.navigator的可能性非常小。据我所见,在某些浏览器中重新定义它是可能的,但您的浏览器似乎不支持这一点。