当我使用window.open(href)以编程方式打开一个新标签页时,两个标签页同步工作,这意味着我停止时在其中之一的JavaScript调试器上,第二个被冻结。这是一个适当的铬行为?有办法解决这个问题吗?在Firefox中,同样的问题很好。Chrome浏览器在window.open()后同步标签()
4
A
回答
1
此行为是正确的。使用Javascript打开的Windows与他们的父母共享一个Javascript解释器 - 调用window.open()
返回对新窗口的引用,并且子节点可以通过window.opener
获得对父节点的引用。只要窗口显示来自相同来源的页面,运行在两个窗口中的脚本就可以通过这些引用共享数据,因为Window对象也是Javascript全局上下文。例如,如果父窗口具有名为example
的全局变量,则子窗口可以将该变量引用为window.opener.example
。
由于两个窗口共享一个Javascript解释器,因此在调试器中停止其中一个窗口应该停止这两者。我不知道为什么Firefox不这样做 - 不停止涉及两个窗口似乎可以使调试某些脚本非常困难。
相关问题
- 1. Chrome浏览器的window.open
- 2. Selenium:新标签没有在Chrome浏览器中打开相同的浏览器
- 3. Chrome浏览器图标,同时用JS
- 4. Chrome浏览器管理器不改变浏览器标签的标题
- 5. Chrome浏览器中的Fullcalendar标签顺序有所不同
- 6. window.open打开的标签和窗口谷歌浏览器
- 7. window.open(URL)在同一标签
- 8. 互联网浏览器,Chrome浏览器Chrome浏览器
- 9. 多浏览器Windows同步
- 10. Window.Locaton.reload()在不同的浏览器(火狐狸,Chrome浏览器)
- 11. window.open高度在谷歌浏览器不同于其他浏览器
- 12. window.open无法在Chrome中使用浏览器后退按钮打开
- 13. Chrome浏览器在GetUserMedia后崩溃
- 14. 在Chrome浏览器上使用目标
- 15. 保存Chrome浏览器标签/浏览器中复选框的状态在Chrome扩展中
- 16. 在IE浏览器中onclick =“window.open”问题
- 17. 浏览器标签存储?
- 18. JavaScript和浏览器标签
- 19. 与浏览器标签
- 20. 在FF和Internet Explorer中,Chrome浏览器中的Chrome浏览器
- 21. 使用window.open()调整Chrome浏览器窗口的大小问题
- 22. 谷歌Chrome浏览器的用户脚本参考window.open
- 23. 在JS中同步浏览器事件
- 24. 谷歌Chrome浏览器同步使用Google Apps域
- 25. 两个浏览器之间的Chrome扩展不同步
- 26. Chrome浏览器相比,Safari浏览器
- 27. 网站标题与Chrome浏览器相比在Chrome浏览器中显示的不同
- 28. 在Chrome和Mozilla浏览器中显示不同的Svg图标
- 29. Chrome浏览器在天空
- 30. 无法在Chrome浏览器
感谢您的回复!你知道任何方式来覆盖这种行为吗? – Boltosaurus
使用除window.open()以外的方法打开新窗口,例如让用户用'target =“_ blank”'属性点击一个链接。 – duskwuff