mag*_*tte 7 javascript browser
在另一个浏览器选项卡中,如何将焦点设置回父窗口?我试过了:
window.opener.focus();
Run Code Online (Sandbox Code Playgroud)
无济于事.它似乎只在窗口没有停靠时工作.
我需要在Chrome,IE9/10,Firefox和Safari中使用它.
Internet Explorer似乎也有问题将焦点设置到子窗口.例如,使用时:
var windowRef = window.open(url);
Run Code Online (Sandbox Code Playgroud)
然后从同一个标签:
windowRef.focus(); // ok in Chrome, doesn't seem to work in IE...
Run Code Online (Sandbox Code Playgroud)
小智 0
您究竟想实现什么目标?将另一个窗口内的焦点设置到第一个链接/按钮/表单字段/其他什么?或者使另一个窗口(浏览器选项卡)成为活动浏览器选项卡?
无论如何 - 也许opener.focus()调用不起作用,因为两个窗口不是从同一源提供服务的。尝试通过postMessage设置通信通道来解决此问题。所以在opener文档中,监听这样的事件:
window.addEventListener('message', function (event) {
window.focus();
}, false);
Run Code Online (Sandbox Code Playgroud)
在打开的窗口中,发送如下消息:
opener.postMessage('foo', '*');
Run Code Online (Sandbox Code Playgroud)
遗憾的是,我现在无法测试这是否有效。(不过我想应该是这样……)
不过,有几点需要补充:
attachEvent等效项。'*'原点通配符替换为打开窗口的实际原点。| 归档时间: |
|
| 查看次数: |
3383 次 |
| 最近记录: |