我目前正在开发一个web应用程序,使不断ajax调用(投票)php从数据库中拉新的"任务",有点像gmail/facebook如何检查新的电子邮件和消息。当前的javascript代码看起来像这样:
doPoll();
function doPoll(){
$.post('ajax/tasks.php').done(function(data){
/* Append Tasks to HTML DOM */
}).always(function(){
setTimeout(doPoll, 5000);
});
}
参见示例:jQuery,简单轮询示例
我已经得到了这个工作很好,我现在唯一的问题是,我想提醒用户,他们有一个新的"任务",如果他们在不同的选项卡。我知道facebook和google通过将标签标题从"facebook"更改为"facebook(2)"来表示2条新消息。这似乎是常态,因为我看到其他网站这样做雅虎,trello等。这对于我需要做的事情是足够的,我想知道是否有人知道如何做到这一点,特别是只有在用户处于不同的选项卡时才通知。我可以保证用户只会在Chrome中使用应用程序,所以Chrome支持的任何工具都可以。
我总是会更改标题。如果你真的想检查标签是否可见,你可以使用html5页面可见性。https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API
不只是改变document.title
的问题吗?
只需使用JS直接更改标题,这就足够了。
的例子:
document.title = 'Alert';