2016-02-05 68 views
2

我有一个“通知”系统,在用户权限下弹出一个带有可选音效的new Notification,以通知用户发生的事情。在网络应用程序和扩展程序之间共享localStorage

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

为了解决这个问题,我想制作一个浏览器扩展,首先是Chrome,然后是其他浏览器。

使用localStorage来处理多个选项卡来协商互斥并跨选项卡传递数据。结果是它们全部同时更新,只有其中一个触发桌面通知/音效。

浏览器扩展是否可能(从Chrome浏览器开始,其他浏览器被认为不太重要)从Web应用程序中读取相同的localStorage,从而加入通信?

+1

我应该期待你在接下来的几分钟内回答吗? – Tushar

+0

@Tushar Heh,no。这是一个真正的问题XD –

+2

对于Chrome和Firefox,您的后端可以发送[推送通知](https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web ?hl = en),这样即使网站选项卡未打开(但浏览器必须),也可以接收通知。 [MDN的使用推送API文章](https://developer.mozilla.org/en-US/docs/Web/API/Push_API/Using_the_Push_API) –

回答

1

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

是的,但只有当页面打开。内容脚本将与页面共享其localStorage,并且没有其他API可以访问它。


这就是说,我同意帕特里克埃文斯的评论:扩展是一个繁琐的解决方案只用于通知。新的Push API是一个很好的选择(也适用于手机!),这个Google codelab是一个很好的介绍。

相关问题