У меня есть простой вызов функции 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": []
}