javascript - FCM 通知适用于 Chrome 但不适用于 Firefox

标签 javascript google-chrome google-chrome-extension firefox-addon firebase-cloud-messaging

我完全无法让 FCM 通知在 Firefox 上运行,而它在 Chrome 上运行得很好。

当我要求 Firebase SDK 返回当前身份验证 token 时,promise 返回“null”,这意味着它无法获取它。主要是由于一些许可问题。

console.log(Notification.permission);

打印“default”,根据官方文档,这与“denied”的意思相同。

如果我尝试使用 firebase.messaging().requestPermission() 或浏览器版本的权限请求, promise 永远不会解析,我没有看到任何弹出窗口请求权限。

我的 manifest.json 确实在权限字段中包含“通知”。

我使用 web-ext 在 Firefox 上启动扩展

我有点绝望,令人难以置信的是让网络扩展工作如此困难。

谢谢

最佳答案

Web Notifications API 的工作方式与 browser.notifications API 略有不同。为了使用 Notifications API,必须首先向用户请求许可,如本例所示 here .这是您会在普通网页中执行的操作。

要在浏览器扩展中使用通知,您必须在 list 文件中设置notifications 权限,然后使用browser.notifications.create创建新通知 . 这不会提示用户弹出窗口要求允许通知,因为 list 文件中已授予此权限。

关于javascript - FCM 通知适用于 Chrome 但不适用于 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54667745/

相关文章:

javascript - 在网格中排列动态创建的 div

javascript - HTML5 Canvas - 用剪辑删除后重新绘制新圆圈

javascript - 将变量从 "browser_action"发送到 "content_scripts"

angular - 使用@angular/cli 构建 chrome 扩展弹出窗口、选项和背景

javascript - 仅当右键单击以 "Story"开头的类时才显示上下文菜单按钮

javascript - 实现基本 Sharethis 代码时指定了无效或非法的字符串

javascript - 即使在页面重新加载后如何保留添加行及其值

javascript - 在新窗口中提交表单并重定向当前页面在 Chrome 中不起作用

google-chrome - 更复杂的 Flex 布局

google-chrome - TypeScript 源映射文件不适用于 Chrome