对于一个小应用程序,我打开我的脚本中的几个窗口/标签.浏览器是打开窗口还是选项卡当然不在我手中.
但是,我保留了对新创建的window
对象的引用,并且我确实从另一个窗口"远程"更改了它们的内容.这一切都发生在同一个document.domain
没有xss问题.
问题是,我无法可靠地focus
创建窗口/标签.由于我正在为客户编写一个非常具体的应用程序,因此我只将Firefox作为浏览器.我有一个选择当然只是做一个remoteWindow.alert('foobar');
将窗口/标签放在前面,但这是非常难看的不是它.
我找到了这个答案如何将窗口/标签聚焦为alert()?
并且据说,Firefox有一个允许脚本焦点的选项.所以最后我的问题是,那个选项是什么?我搜索了about:config
"标签"和"焦点"但没有发现任何相关内容.
如何配置?
以下似乎适用于IE8和FF13:
Help
我看到的唯一解决方案是在新窗口中强制弹出窗口,因为似乎没有办法聚焦另一个选项卡.此解决方案还要求您更改默认的Javascript安全设置,Tools > Options > Content tab
然后单击复选框Advanced
旁边的按钮Enable Javascript
并选中中间框以允许聚焦窗口.
要强制使用窗口而不是标签,请使用win = window.open("http://www.google.com", "test" ,"modal=yes");
然后win.focus();
在您感觉到时调用.
编辑:实际上忘了提到这只是FF的事实.