我有一个“通知”系统,在用户允许的情况下,弹出一个new Notification
完整的可选音效,告知用户发生的事情。
但是有一个限制意味着当没有打开浏览器标签时不会显示通知,因为没有“检查通知”JavaScript代码的实例正在运行。
要解决此问题,我想制作一个浏览器扩展程序,首先针对Chrome,然后针对其他浏览器。
使用localStorage
协商互斥锁并在标签之间传递数据,已经处理了多个标签。结果是它们全部同时更新,只有其中一个触发桌面通知/声音效果。
浏览器扩展程序(再次,Chrome首先,其他浏览器被认为不那么重要)是否可以从与Web应用程序相同的localStorage
读取,从而加入通信?
答案 0 :(得分:1)
浏览器扩展(再次,Chrome首先,其他浏览器被认为不那么重要)是否可以从与web应用相同的localStorage中读取,从而加入通信?
是的,但仅在页面打开时。内容脚本将与页面共享其localStorage
,否则无法访问它。
那就是说,我同意Patrick Evans的评论:扩展只是一个非常麻烦的解决方案,仅适用于通知。新的Push API是一个很好的选择(也适用于移动设备!),这个Google codelab是一个很好的介绍。