为什么为Edge扩展通知未定义“创建”?

时间:2019-04-05 15:35:58

标签: notifications undefined microsoft-edge microsoft-edge-extension

在Edge扩展中运行代码会引发TypeError,无法获取未定义或空引用的属性'create'。

我尝试在弹出脚本和后台脚本中运行它。我在清单中具有通知权限。我确实看到某些API需要在内容脚本中运行,但是由于我没有参与标签或网页,所以我认为这并不适用于我...?

清单:

{
  "name": "xxx",
  "author": "xxx", "version": "1.1",
  "options_page": "options.html",
  "background": {
    "scripts": ["jquery-3.3.1.min.js","background.js"], "persistent": true
  },
  "permissions": [
    "xxx",
    "background",
    "notifications",
    "storage"

  ],
  "offline_enabled": true,
  "browser_action": {
      "default_title": "xxx",
      "default_popup": "popup.html",
      "default_icon": "32.png"
  },
  "manifest_version": 2
}

背景脚本:

try{
    browser.notifications.create("test",{
    "type": "basic",
    "title": "Test",
    "iconUrl": "48.png",
    "message": "This is a test"
    });
}catch(e){
    alert(e);
}

1 个答案:

答案 0 :(得分:1)

根据您的描述,首先,您可以尝试将Edge浏览器升级到最新版本,然后尝试使用browser.notifications.create方法。

但是,我认为我更喜欢使用Web Notifications API显示通知,您可以选中this article