创建Chrome扩展程序以通过键盘快捷方式关闭通知

问题描述 投票:1回答:1

我是Chrome扩展程序开发的新手。我目前正在制作Chrome扩展程序来解除通知。我希望通过快捷键激活扩展程序一次。

在查看下面的代码之前,我想让人们知道alert确实显示...但Chrome扩展程序页面显示错误:

“commands.onCommand的事件处理程序出错:TypeError:无法读取未定义的属性'getAll'”

在线上:

chrome.notifications.getAll((items) => {

chrome.notifications对象在某种程度上是未定义的,所以Chrome似乎认为没有显示当前的通知......这很奇怪,因为确实存在,如图所示。

有人可以通过揭示这种情况来帮忙吗?


manifest.json:
{
"name": "ClearAll",
"version": "1.0",
"description": "Clear notifications!",
"background": {
  "scripts": ["background.js"],
  "persistent": false
},

"commands": {
  "clear": {
    "suggested_key":{
      "default": "Alt+Shift+S" 
    },
    "description": "Executes clear"
 }
},
"manifest_version": 2
}

background.js:

chrome.commands.onCommand.addListener(function(command) {
    if (command == 'clear') {
      alert("testing");
      chrome.notifications.getAll((items) => {
        if (items) 
          for (let key in items) 
            chrome.notifications.clear(key);
      });
    }
});

错误:

javascript google-chrome google-chrome-extension notifications shortcut
1个回答
0
投票

您需要将notifications权限添加到清单中

{
    "name": "ClearAll",
    "permissions": ["notifications"],
    .......
}
© www.soinside.com 2019 - 2024. All rights reserved.