2017-10-05 122 views
0

我在PHP/js上有一个Messenger,导入到网站的所有页面。信使通过ajax工作,每5秒检查一次新消息。 另外我有桌面和声音通知。不同窗口上的Messenger问题

问题是,如果我打开了多个页面,并且当前正在其中一个页面上,则提醒可能来自另一个页面,该页面当前未处于活动状态。但是,仅当活动页面不是相同的网站时,非活动页面才应该通知。

想法?

+0

'想法?' - 广播频道API或许?这会立即删除两个最糟糕的浏览器,但这可能是您可以使用的最佳方法 –

回答

0

检查窗口焦点:

var window_focus; 

$(window).focus(function() { 
    window_focus = true; 
}).blur(function() { 
    window_focus = false; 
}); 

检查指定location.host比赛区和窗口集中:

if((location.host == "example.com")&&(window_focus == true)) 
{ 
    //window is focused and on specified domain for that website. 
    //sounds, notifications, etc. here 
} 

若完全确定这就是你的意思,但我希望它帮助。