Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 Chrome在window.open()之后同步选项卡_Javascript_Google Chrome - Fatal编程技术网

Javascript Chrome在window.open()之后同步选项卡

Javascript Chrome在window.open()之后同步选项卡,javascript,google-chrome,Javascript,Google Chrome,在chrome中测试我的web应用程序时遇到了一些问题。当我使用window.open(href)以编程方式打开一个新选项卡时,两个选项卡同步工作,这意味着当我在其中一个选项卡上停止使用javascript调试器时,第二个选项卡被冻结。这是一个正确的行为吗?有办法解决这个问题吗?在firefox中,同样的问题也可以解决。这种行为是正确的。使用Javascript打开的窗口与其父窗口共享Javascript解释器-调用window.open()返回对新窗口的引用,子窗口可以通过window.ope

在chrome中测试我的web应用程序时遇到了一些问题。当我使用window.open(href)以编程方式打开一个新选项卡时,两个选项卡同步工作,这意味着当我在其中一个选项卡上停止使用javascript调试器时,第二个选项卡被冻结。这是一个正确的行为吗?有办法解决这个问题吗?在firefox中,同样的问题也可以解决。

这种行为是正确的。使用Javascript打开的窗口与其父窗口共享Javascript解释器-调用
window.open()
返回对新窗口的引用,子窗口可以通过
window.opener
获取对父窗口的引用。只要窗口显示来自同一来源的页面,两个窗口中运行的脚本就可以通过这些引用共享数据,因为窗口对象也是Javascript全局上下文。例如,如果父窗口有一个名为
example
的全局变量,则子窗口可以将该变量引用为
window.opener.example


由于这两个窗口共享一个Javascript解释器,因此在调试器中停止其中一个窗口应该同时停止这两个窗口。我不确定Firefox为什么不这么做——不停止两个相关的窗口似乎会使调试某些脚本变得非常困难。

感谢您的回复!您知道重写此行为的任何方法吗?请使用非
window.open()
的方法打开新窗口,例如让用户单击带有
target=“\u blank”
属性的链接。