我正在尋找一個事件,當用戶將該頁面切換到另一個標籤時會觸發,另一個事件在用戶再次切換回標籤時觸發。當用戶切換瀏覽器標籤時的事件
window.onblur和window.onfocus don't seem to work correctly在所有瀏覽器
是否有代理,我可以看看,以合成這個活動?
我正在尋找一個事件,當用戶將該頁面切換到另一個標籤時會觸發,另一個事件在用戶再次切換回標籤時觸發。當用戶切換瀏覽器標籤時的事件
window.onblur和window.onfocus don't seem to work correctly在所有瀏覽器
是否有代理,我可以看看,以合成這個活動?
你可能會嘗試使用一個框架,比如MooTools或者jQuery,它們提供了跨瀏覽器的支持。他們應該能夠以更可靠的方式檢測瀏覽器窗口的blur
和focus
事件。
我個人使用jQuery的很成功:
$(window).blur(function(e) {
// Do Blur Actions Here
});
$(window).focus(function(e) {
// Do Focus Actions Here
});
很酷,我可能會看看如何在jQuery中實現這些功能 – EoghanM 2009-06-30 10:27:32
您也可以嘗試使用VisibilityAPI。
document.addEventListener("visibilitychange", function() {
if (document.hidden){
console.log("Browser tab is hidden")
} else {
console.log("Browser tab is visible")
}
});
我敢肯定,這是不可能的,在所有瀏覽器,至少。 – 2009-06-24 14:20:28
實際上,跨瀏覽器的兼容性[看起來並不那麼糟](http://www.quirksmode.org/dom/events/blurfocus.html)。使用Firefox和Safari/Windows可以獲得一些事件,但這應該相當容易解決。 `window.onfocus/onblur`在瀏覽器大戰之前就已經可用了,它們的行爲並沒有太大改變。顯然,在實現中有一些_bugs_,但沒有不同的_semantics_。 – lanzz 2012-09-09 14:16:55