在网络应用和扩展程序

时间:2016-02-05 17:02:09

标签: javascript google-chrome google-chrome-extension

我有一个“通知”系统,在用户允许的情况下,弹出一个new Notification完整的可选音效,告知用户发生的事情。

但是有一个限制意味着当没有打开浏览器标签时不会显示通知,因为没有“检查通知”JavaScript代码的实例正在运行。

要解决此问题,我想制作一个浏览器扩展程序,首先针对Chrome,然后针对其他浏览器。

使用localStorage协商互斥锁并在标签之间传递数据,已经处理了多个标签。结果是它们全部同时更新,只有其中一个触发桌面通知/声音效果。

浏览器扩展程序(再次,Chrome首先,其他浏览器被认为不那么重要)是否可以从与Web应用程序相同的localStorage读取,从而加入通信?

1 个答案:

答案 0 :(得分:1)

  

浏览器扩展(再次,Chrome首先,其他浏览器被认为不那么重要)是否可以从与web应用相同的localStorage中读取,从而加入通信?

是的,但仅在页面打开时。内容脚本将与页面共享其localStorage,否则无法访问它。

那就是说,我同意Patrick Evans的评论:扩展只是一个非常麻烦的解决方案,仅适用于通知。新的Push API是一个很好的选择(也适用于移动设备!),这个Google codelab是一个很好的介绍。