Javascript PHP更新所有打开的实例,如Facebook
Javascript PHP Updating all open instances such as Facebook
大家都知道,当你在Facebook的桌面版上并收到通知时。
页面标题为
(1) Facebook
举个例子,你打开了Facebook的3个标签,此时会读取
''(1)Facebook
在其中一个选项卡中,您选择阅读通知,但在一瞬间,您的每个选项卡都会更新以删除
(1)
有人能告诉我如何像Facebook那样在其他开放实例中强制更新吗?
最简单的方法是在每个选项卡上打开一个通道(WebSocket或SSE)。然后,当新消息到达时,您只需将其广播给收件人拥有的所有连接,它就会显示在每个选项卡中(假设每个页面都有JS来处理它)。
在这个问题中,同样来源的选项卡之间还有各种其他通信方式:Javascript;同源标签页/窗口之间的通信-但我认为这不是你想要的,因为对于FB信使这样的东西,你肯定想要实时通知,然后我的第一个建议要容易得多。
我选择使用localStorage
在这里,我可以首先检查chat
是否存在
if (localStorage.getItem("chat") === null) {
localStorage.setItem("chat","0");
}
然后我可以设置每秒的间隔来运行一个名为checkChat()
的函数
setInterval(checkChat, 1000);
使用checkChat()
函数,我可以查看它是否等于0
,如果等于,则删除(1)
或标题中实际存在的任何值。
function checkChat(){
var chatNum = localStorage.getItem("chat");
//console.log(chatNum);
if (chatNum == "0"){
var actualpagetitle = $(document).attr('title');
var newtitle = actualpagetitle.replace(/^'('d+')'s+/,'');
document.title = newtitle;
}
}
我已经在我的实时网站上测试了这一点,无论何时更新localStorage.getItem("chat")
,它都会更新其余打开的窗口。
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- ES6构造函数返回基类的实例
- 漂亮照片图片库中的Facebook赞按钮
- 包括用于facebook评论框的JavaScript SDK
- 使用Facebook live API创建实时视频对象时的隐私设置
- 有任何可能将facebook实时信使整合到一个网站中
- KnockoutJS-组件-多个实例
- facebook”;添加评论“;popup获胜'不要消失
- Facebook共享显示一个接一个的空白页面
- 为什么无法在TypeScript中导出类实例
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- fluxxor向一个flux实例添加一组以上的操作
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 异步facebook功能
- 使用jQuery获取Dropzone实例/对象
- Facebook登录按钮没有'不能在Firefox上工作
- 使用javascript反复检查用户在facebook上的登录状态
- Javascript PHP更新所有打开的实例,如Facebook