0

我希望在以下情况下触发我的 javascript:

  • 打开多个 IE 选项卡时,当前 IE 选项卡将被关闭。
  • 当前 IE 标签页关闭时
  • 我不希望页面内弹出对话框触发我的 JS 代码。
  • 当整个 IE 窗口关闭时。

失去焦点事件可能对我不起作用,因为我的页面中有弹出对话框,所以当它弹出时,IE选项卡将失去焦点,但由于选项卡没有切换关闭,我不希望我的javascript在这里被触发。

有什么解决办法吗?我想知道是否有类似进入选项卡/离开选项卡选项卡切换事件的东西?

一些有趣的链接,但不能解决我的问题。

有没有办法检测浏览器窗口当前是否处于活动状态?

挂钩到浏览器的选项卡更改事件

4

3 回答 3

1

你可能感兴趣

(function(){

    function doOnFocus(){ console.log("focus"); }
    function doOnBlur(){ console.log("blur"); }
    function doOnLeave(){ console.log("leave"); }

    if('onfocusout' in document){
        document.onfocusout = doOnBlur;
        document.onfocusin = doOnFocus;
    }else{
        window.onblur = doOnBlur;
        window.onfocus = doOnFocus;
    }
    window.onbeforeunload = doOnLeave;

})();
于 2013-05-21T05:41:36.267 回答
1

如果你使用'jQuery',你可以轻松做到。

$(window).blur(function(){
  // your code 
});
$(window).focus(function(){
  // your code
});

这是提供另一种方法的链接。

于 2013-05-21T04:33:36.920 回答
0

在 javascript 中有一个窗口关闭事件,它不是 IE 特定的,但主要用于在用户离开页面之前调用警报。这是我最讨厌的事情之一,很烦人,但可能正是您想要的。

window.onbeforeunload = 你执行的函数;

于 2013-05-21T04:24:47.150 回答