Javascript 使用选项卡时如何将焦点设置为子窗口和打开窗口
在另一个浏览器选项卡中,如何将焦点设置回父窗口?我试过:Javascript 使用选项卡时如何将焦点设置为子窗口和打开窗口,javascript,browser,Javascript,Browser,在另一个浏览器选项卡中,如何将焦点设置回父窗口?我试过: window.opener.focus(); 无济于事。它似乎只有在窗口未停靠时才起作用 我需要它在Chrome、IE9/10、Firefox和Safari中工作 Internet Explorer在设置子窗口的焦点时似乎也有问题。例如,使用时: var windowRef = window.open(url); 然后,稍后从同一选项卡: windowRef.focus(); // ok in Chrome, doesn't seem
window.opener.focus();
无济于事。它似乎只有在窗口未停靠时才起作用
我需要它在Chrome、IE9/10、Firefox和Safari中工作
Internet Explorer在设置子窗口的焦点时似乎也有问题。例如,使用时:
var windowRef = window.open(url);
然后,稍后从同一选项卡:
windowRef.focus(); // ok in Chrome, doesn't seem to work in IE...
你到底想要实现什么?要将另一个窗口内的焦点设置为第一个链接/按钮/表单字段/任何内容?或者使另一个窗口(浏览器选项卡)成为活动浏览器选项卡 无论如何-可能是
opener.focus()
调用不起作用,因为两个窗口不是从同一个来源提供服务的。尝试通过设置通信通道来解决此问题。因此,在开场白
文档中,聆听以下事件:
window.addEventListener('message', function (event) {
window.focus();
}, false);
opener.postMessage('foo', '*');
在打开的窗口中,发送如下消息:
window.addEventListener('message', function (event) {
window.focus();
}, false);
opener.postMessage('foo', '*');
遗憾的是,我现在无法测试这是否有效。(不过,我想应该……)
不过,有几点需要补充:
attachEvent
等效产品“*”
原点通配符替换为打开器窗口的实际原点谢谢defaude,我会尝试一下,让你知道不幸的是,这也不起作用:(-是的,我的目的是让另一个浏览器选项卡成为活动选项卡。嗯,太糟糕了。如果我能找到时间,我会研究测试这个,可能会为你找到解决方案:)真的很抱歉,但我想这是不可能的:(