我用过:
var win = window.open('http://www.google.co.uk','foo');
打开一个新窗口我然后导航回原始窗口,打开并使用新窗口:
win.focus();
我希望浏览器切换回foo窗口IE9如何忽略它并保持在当前窗口。在Chrome和IE6中工作我假设这可能已被禁用作为安全风险。有没有办法通过安全设置或注册表设置在IE9中启用window.focus?
这是我的完整代码:
<a onclick="OpenWindow();">Click here to open a window</a><br />
<a onclick="SelectWindow();">click here to switch to window</a>
<script language="javascript" type="text/javascript">
var win;
function OpenWindow() {
win = window.open("http://www.google.co.uk", "foo");
}
function SelectWindow() {
win.focus();
}
</script>
答案 0 :(得分:1)
Internet Explorer 9 中的已知错误。查看文章A web page may fail to get focus in Windows Internet Explorer 9了解更多信息。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
Type: REG_DWORD
Name: HangRecovery
Value: 0
答案 1 :(得分:0)
自2003年以来,以下各种浏览器对我有所帮助:
function popupHelp(helpUrl) {
helpWin = window.open(helpUrl, "help",
"height=500,width=500,scrollbars,resizable,toolbar,status,menubar");
if (helpWin != null) {
setTimeout("helpWin.focus()",100);
}
}
...
<a href="javascript:popupHelp('help.jsp')">Help</a>
截至2013-08-27,它似乎是window.open()调用的功能列表,强制/允许IE 8,9和10第二次给窗口焦点。我说窗口因为它也强制IE在窗口中打开,而不是标签(Chrome使用标签,Firefox就像IE一样)。我希望所有浏览器在这方面都像Chrome一样。他们似乎都打开了一个新的窗口,目标=“_ blank”就好了,用打开的窗口弄乱了用户桌面,但重用现有窗口是他们不想做的事情。