焦点选项卡或窗口

jAn*_*ndy 19 javascript firefox jquery

对于一个小应用程序,我打开我的脚本中的几个窗口/标签.浏览器是打开窗口还是选项卡当然不在我手中.

但是,我保留了对新创建的window对象的引用,并且我确实从另一个窗口"远程"更改了它们的内容.这一切都发生在同一个document.domain没有xss问题.

问题是,我无法可靠地focus创建窗口/标签.由于我正在为客户编写一个非常具体的应用程序,因此我只将Firefox作为浏览器.我有一个选择当然只是做一个remoteWindow.alert('foobar');将窗口/标签放在前面,但这是非常难看的不是它.

我找到了这个答案如何将窗口/标签聚焦为alert()?

并且据说,Firefox有一个允许脚本焦点的选项.所以最后我的问题是,那个选项是什么?我搜索了about:config"标签"和"焦点"但没有发现任何相关内容.

如何配置?

小智 13

以下似乎适用于IE8和FF13:

<script type="text/javascript">
// Stupid script to force focus to an existing tab when the link is clicked.
// And yes, we do need to open it twice.
function openHelp(a) {
    var tab = window.open(a.href, a.target);
    tab.close();
    tab = window.open(a.href, a.target);
    return false;
}
</script>
<a href="help.html" target="help" onclick="return openHelp(this);">Help</a>
Run Code Online (Sandbox Code Playgroud)


zat*_*ata 7

我看到的唯一解决方案是在新窗口中强制弹出窗口,因为似乎没有办法聚焦另一个选项卡.此解决方案还要求您更改默认的Javascript安全设置,Tools > Options > Content tab然后单击复选框Advanced旁边的按钮Enable Javascript并选中中间框以允许聚焦窗口.

要强制使用窗口而不是标签,请使用win = window.open("http://www.google.com", "test" ,"modal=yes");然后win.focus();在您感觉到时调用.

编辑:实际上忘了提到这只是FF的事实.