[英]What is the difference between window.focus() and window.blur()?
[英]Window popups - how to get window.blur() or window.focus() to work in FireFox 4?
我知道FF4不允许使用window.blur()
除非在FF配置中启用了“升高或降低窗口”设置。 它简单地忽略了该事件。
我知道,即使关闭了此设置,某些站点仍可以设法打开一个弹出窗口并保持对当前窗口的关注。 他们如何实现这一目标?
此外,当两个页面位于同一域时,我不明白为什么.blur()和.focus()不起作用。 根据http://support.mozilla.com/zh-CN/questions/806756#answer-167267,这应该可以正常工作。
在默认设置( JSFiddle )下,这在Firefox和Chrome中对我有效 :
function popUnder(url, width, height) {
var popUnderWin, nav = navigator.userAgent,
isGecko = /rv:[2-9]/.exec(nav),
hackString;
hackString = nav.indexOf('Chrome') > -1 ? "scrollbar=yes" : "toolbar=0,statusbar=1,resizable=1,scrollbars=0,menubar=0,location=1,directories=0";
popUnderWin = window.open("about:blank", "title", hackString + ",height=" + height + ",width=" + width);
if (isGecko) {
popUnderWin.window.open("about:blank").close();
}
popUnderWin.document.location.href = url;
setTimeout(window.focus);
window.focus();
popUnderWin.blur();
}
document.getElementById("asd").addEventListener("click", function() {
popUnder("http://www.google.com", 1024, 768);
}, false);
<div id="asd">click here</div>
没有window.open
额外额外参数,我无法设法使它正常工作,因此它们有些不足。
http://support.mozilla.com/zh-CN/questions/806756#answer-167267
他们说,除非所有人都去about:config
并将dom.disable_window_flip
设置为false
否则这是不可能的。
我不知道有任何代码可以绕过此限制,但我认为其他网站使用的不是window.blur()
和window.focus()
还有一个类似的文章在这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.