Веб-расширение Chrome не отображает уведомления, хотя в Firefox оно работает нормально - PullRequest
0 голосов
/ 05 марта 2019

У меня есть простой вызов функции chrome.notifications.create (id, options), и я уже десять раз проверил аргументы.

Аргумент id - это строка.Аргументом параметров является такой объект:

{type:"basic",message:"message",title:"message",iconUrl:chrome.extension.getURL("icons/icon.png")}

Хотя он работает только в Firefox. Edge Opera и Chrome не отображают уведомление.Край просто падает!

Я все проверил.Там нет ошибок, и iconUrl правильно.

Также я проверил поле имени манифеста JSON.Все в порядке.( Уведомление Microsoft Edge в расширении )

Пример релевантного и упрощенного кода

Эта упрощенная версия имеет ту же проблему, что и полная.

 //For hooking up event handlers
        try {
            chrome.runtime.onStartup.addListener(doHandshake);
        }catch(ex) {
            console.error("onStartup function in Edge is not supported.");
       }
    chrome.webRequest.onBeforeRequest.addListener(onBeforeRequestCallback, { types:['main_frame'],urls:['*://*/*']}, ['blocking']);

    function onBeforeRequestCallback(requestDetails) {
        showMessage();
        return {};
    }

    function showMessage() {
        console.log("about to show notification...");
        var notificationOptions ={type:"basic",message:"msg",title:"title",iconUrl:chrome.extension.getURL("icons/icon.png")};          
        chrome.notifications.create("",notificationOptions);    
    }

Манифест.json

{
  "manifest_version": 2,
  "author" : "whatever Ltd.",
  "name": "21charsName",
  "version": "1.0",
  "description": "whatever",
  "permissions": [
    "*://*/*",
    "tabs",
    "webRequest",
    "webRequestBlocking",
    "storage",
    "notifications"
  ],
  "browser_action": {
    "default_icon": "icons/icon.png",
    "default_title": "extension"
  },

  "background": {
    "scripts": [      
      "background.js"
    ],
    "persistent": true
  },
  "web_accessible_resources": []
}

1 Ответ

1 голос
/ 05 марта 2019

Оказалось, что это ошибка в браузерах на основе хрома.Кажется, что когда вы отключаете уведомления для расширения, оно никогда не отображает уведомления снова, потому что нет способа повторно включить его, и вам придется переустанавливать браузер, хотя моя попытка сделать это тоже ничего не дала.

Мне пришлось попробовать другой компьютер с новой установкой Chrome, и на нем начали появляться уведомления.

Что касается Edge, то это тоже ошибка .: - /

...