2017-10-05 121 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 
} 

若完全確定這就是你的意思,但我希望它幫助。