Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Object.defineProperty不适用于窗口对象IE11_Javascript_Object_Window_Internet Explorer 11 - Fatal编程技术网

Javascript Object.defineProperty不适用于窗口对象IE11

Javascript Object.defineProperty不适用于窗口对象IE11,javascript,object,window,internet-explorer-11,Javascript,Object,Window,Internet Explorer 11,我正在尝试使用Object.defineProperty更改window.navigator.onLine的值。 我运行的命令是: Object.defineProperty(window.navigator,“联机”{value:false,configurable:true}) 哪种方法有效: *边缘13 *歌剧40.0 *铬54.0 *火狐49.0 你知道为什么这不起作用吗?它说IE11应该支持这种方法。从它听起来像窗口.navigator.onLine是一种只读的。i、 e.如果您无法通

我正在尝试使用Object.defineProperty更改window.navigator.onLine的值。
我运行的命令是:

Object.defineProperty(window.navigator,“联机”{value:false,configurable:true})

哪种方法有效:
*边缘13
*歌剧40.0
*铬54.0
*火狐49.0

你知道为什么这不起作用吗?它说IE11应该支持这种方法。

从它听起来像
窗口.navigator.onLine
是一种
只读的。i、 e.如果您无法通过直接设置值来覆盖它,那么您可能在做坏事


如果您这样做是为了测试某些行为,那么最好模拟navigator对象,而不是尝试更改
只读
属性。(很抱歉,如果这是一个错误的假设,请随意提供更多的上下文:)

我正在编写大致相同的内容,但您更快了:)我只想补充一点,它本身也应该是只读的。我正在尝试为单元测试更改此属性,模拟navigator对象似乎对我不起作用。因此,该属性在IE中是只读的?@ShaharKazaz根据规范,它是只读的。如果某些浏览器允许更改它,它们不会遵循该属性。@ShaharKazaz如果您需要模拟类似的内容,最好创建一个助手方法,然后再依次模拟。细节很详细。