相关疑难解决方法(0)

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

我有定期执行活动的JavaScript.当用户没有看到该站点时(即窗口或选项卡没有焦点),最好不要运行.

有没有办法使用JavaScript?

我的参考点:如果您使用的窗口未处于活动状态,则Gmail聊天会播放声音.

javascript browser focus window

560
推荐指数
13
解决办法
25万
查看次数

影响Iframe的$(窗口).blur事件

我想检测用户何时离开我的页面(例如打开一个新标签),这样我就可以停止倒计时了.我用它做了:

$(window).blur(function() {
 //stop countdown
});
Run Code Online (Sandbox Code Playgroud)

但是我的页面中有一个Iframe,当用户点击它时,倒计时也会停止,但我不希望当有人点击Iframe时执行上述事件.

任何的想法?

更新,我正在尝试更多,基于iframe上的这个答案点击事件?:

iframeDoc = $('iframe').contents().get(0);
$(iframeDoc).click(function(){
   //maybe remove blur event?
});
Run Code Online (Sandbox Code Playgroud)

更新:Tim B解决方案有效:

$(window).blur(function () {
// check focus
if ($('iframe').is(':focus')) {
    // dont stop countdown
}
else {
    // stop countdown
}                
});
Run Code Online (Sandbox Code Playgroud)

现在,我必须在每次调用模糊事件时从Iframe中移除焦点,否则如果用户在关注Iframe后更改制表符,倒计时将不会停止.我尝试使用上述条件:

if ($('iframe').is(':focus')) {
    // dont stop countdown
    $("iframe").blur()
    $(window).focus();
}
Run Code Online (Sandbox Code Playgroud)

但它没有用.任何的想法?

javascript iframe jquery dom

8
推荐指数
1
解决办法
6995
查看次数

标签 统计

javascript ×2

browser ×1

dom ×1

focus ×1

iframe ×1

jquery ×1

window ×1