新问题
在 Google Chrome 上,我只能focus()
在单击元素时打开窗口。
原来的问题
如何focus()
使用 javascript 访问一个窗口,其中弹出窗口不是在我用来聚焦网页的同一窗口内创建的
var wnd = window.open("http://bing.co.uk", "stage");
适用于修改从不同网页打开的弹出窗口。
wnd.focus();
但是,这不起作用,因为当具有 wnd 焦点功能的网页打开时,舞台窗口已经打开。
在 Google Chrome 上,我只能focus()
在单击元素时打开窗口。
如何focus()
使用 javascript 访问一个窗口,其中弹出窗口不是在我用来聚焦网页的同一窗口内创建的
var wnd = window.open("http://bing.co.uk", "stage");
适用于修改从不同网页打开的弹出窗口。
wnd.focus();
但是,这不起作用,因为当具有 wnd 焦点功能的网页打开时,舞台窗口已经打开。
如果您知道具有该名称的窗口存在,您可以从以后的调用中获取对它的引用window.open
(例如,当您想要调用blur
或时focus
):
window.open("", "theWindowName").focus();
但是,当然,如果窗口不存在,那将打开一个新窗口。遗憾的是,您无法提前知道(除了在您的应用程序逻辑中)具有该名称的窗口是否已经存在。
一旦你有了 window 对象,你就可以调用blur
or focus
。
在 Google Chrome 上,我只能
focus()
在单击元素时打开窗口。
如果您的代码打开了窗口,您应该可以。例如:
HTML:
<button id="btnOpen">Open</button>
<button id="btnFocus">Focus</button>
JavaScript:
jQuery(function($) {
$("#btnOpen").click(function() {
window.open(
"about:blank",
"theWindow",
"width=500,height=500");
});
$("#btnFocus").click(function() {
// Note that this happens a full second later, NOT
// in direct response to a user event
setTimeout(function() {
window.open("", "theWindow").focus();
}, 1000);
});
});