如果在两个不同的选项卡中打开相同的页面,如何防止javascript运行两次?

时间:2015-02-22 06:11:31

标签: javascript php google-chrome notifications

我有一个用PHP制作的网站,它调用javascript文件来检查网站通知,然后将它们作为浏览器通知发送(即Mozilla的Firefox通知,Chrome桌面通知等)。它工作得很好,有些用户要求提供Chrome通知。我做了一个使用相同代码的基本chrome通知,它适用于人们不使用该网站的情况。然而,问题在于它们是否同时运行。网站上的用户和使用该扩展程序的用户会发现自己收到双重通知。

有没有办法确保如果另一个代码处于活动状态,那么两个代码都不会运行?

谢谢!

2 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是将警报标记为在服务器端读取。这样一来,如果我同时打开Firefox和Chrome并且他们开始提醒警报,那​​么首先到达那里的人会将通知标记为已读,以便其他人不会提醒它。

答案 1 :(得分:-1)

您可以设置Cookie。如果一个脚本正在运行,则设置cookie。当您开始执行代码时,首先检查cookie是否已设置?如果是,则表示另一个脚本正在运行。如果没有设置cookie,则开始执行代码 希望它有所帮助。


谢谢。