在 Web 应用和扩展程序之间共享本地存储

Sharing localStorage between web app and extension

本文关键字:共享 存储 之间 程序 Web 应用 扩展      更新时间:2023-09-26

>我有一个"通知"系统,在用户许可下,它会弹出一个带有可选音效的new Notification,以通知用户正在发生的事情。

但是,有一个限制,这意味着当没有打开浏览器选项卡时,通知不会显示,因为没有运行"检查通知"JavaScript代码的实例。

为了解决这个问题,我想创建一个浏览器扩展,首先用于 Chrome,然后可能用于其他浏览器。

多个选项卡已通过使用 localStorage 协商互斥体并在选项卡之间传递数据来处理。结果是它们都同时更新,并且只有一个触发桌面通知/声音效果。

浏览器

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

浏览器

扩展程序(同样,首先是 Chrome,其他浏览器被认为对此不太重要)是否有可能从与 Web 应用程序相同的本地存储读取,从而加入通信?

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


也就是说,我同意帕特里克·埃文斯的评论:扩展程序仅适用于通知的繁琐解决方案。新的Push API是一个很好的选择(也适用于移动设备!),这个谷歌代码实验室是一个很好的介绍。