Chrome在window.open()之后同步选项卡
Chrome synchronizes tabs after window.open()
在chrome中测试web应用程序时遇到了一些问题。当我使用window.open(href)以编程方式打开一个新选项卡时,两个选项卡正在同步工作,这意味着当我在其中一个选项卡上的javascript中停止调试器时,第二个选项卡将被冻结。这是一种恰当的chrome行为吗?有办法解决这个问题吗?在firefox中,同样的问题也适用。
此行为是正确的。使用Javascript打开的窗口与其父窗口共享一个Javascript解释器——调用window.open()
将返回对新窗口的引用,子窗口可以通过window.opener
获得对父窗口的引用。只要窗口显示来自同一来源的页面,在这两个窗口中运行的脚本就可以通过这些引用共享数据,因为Window对象也是Javascript全局上下文。例如,如果父窗口有一个名为example
的全局变量,则子窗口可以将该变量引用为window.opener.example
。
由于这两个窗口共享一个Javascript解释器,因此在调试器中停止其中一个窗口应该同时停止这两个。我不知道Firefox为什么不这么做——不停止两个相关的窗口似乎会让调试一些脚本变得非常困难。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 在控制器和数据对象之间同步数据
- 同步调用,直到用户通过angular验证为访问者
- javascript函数同步
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 如何将Knockout.JS与服务器已经在DOM中呈现的数据同步
- 音频和动画在javasctipt循环中同步
- 主线程上的同步XMLHttpRequest已弃用
- Nodejs请求之后是请求同步问题
- Chrome在window.open()之后同步选项卡
- Node.js for 循环,带有回调,之后同步执行
- 如果我在同步ajax调用之后进行异步ajax调用会发生什么?