chrome.notifications.on закрыт не работает в background.js для расширения Google Chrome - PullRequest
0 голосов
/ 22 июня 2019

Я создаю очень простое расширение Google Chrome, которое должно прослушивать все полученные уведомления от Google Chrome!

Структура файла моего расширения;

  • manifest.json
  • background.js
  • icons
    • main.png

manifest.json

    {
    "manifest_version": 2,
    "name": "My Extension",
    "version": "1.0.0",
    "browser_action": {
        "default_icon": {                   
          "16": "icons/main.png",          
          "24": "icons/main.png",           
          "32": "icons/main.png"            
        }
    },
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "permissions": [
        "notifications"
      ]
}

background.js

console.log('Lady Gaga');

chrome.browserAction.onClicked.addListener(function(){
    console.log('Clicked');
});

chrome.notifications.onClosed.addListener(function (s,b){
    console.log('notification Closed');
});

chrome.notifications.onClicked.addListener(function (){
    console.log('notification Clicked');
});

chrome.notifications.onButtonClicked.addListener(function (){
    console.log('notification Button Clicked');
});

Итак, если я нажму кнопку моего расширения

chrome.browserAction.onClicked

Запущено, и когда я проверяю фоновые ЛОГИ, я вижу, что "Lady Gaga" и "Clicked"логи запущены!

Далее я пытаюсь просмотреть логи слушателей уведомлений.Чтобы заинтересовать слушателей уведомлений, был найден веб-сайт с основными кнопками HTML, которые легко отправляют уведомления.

https://web -push-book.gauntface.com / demos /tification-examples /

Я использую этот веб-сайт для самостоятельной отправки уведомлений для тестирования прослушивателей фоновых событий, которые определены как прослушиватели событий уведомлений.

Но ни одно из событий уведомлений не запускается, работаетдолжным образом.Я не вижу никаких журналов, таких как «кнопка уведомления уведомлена» или «уведомление закрыто»

Что не так с этим сценарием?

1 Ответ

0 голосов
/ 22 июня 2019

manifest.json

{
    "manifest_version" : 2,
    "name" : "demo1",
    "description" : "Demo",
    "version" : "0.1",
    "background" : { 
        "scripts" : ["background.js"],
        "persistent" : false
    },
    "permissions" : [
        "notifications"
    ]
}

background.js

var description = "dvcvv";
var news = "cvcvcvcvcvcvcvcvcv"; 
var pattern = {
    OPTION : "list",    
};

var a1 = {
    title : "xxxxxxxxxxxxxxxxxx",
    message : "dsdsdsdX"
};
var a2 = {
    title : "yyyyyyyyyyyy",
    message : "sdsdsdsdY"
};
var butt1 = {
    title : "Button 1 "
};
var butt2 = {
    title : "Button 2"
};

var notifopt = {
    type : pattern.OPTION,
    iconUrl : "icon.png",
    title : description,
    message : news,
    buttons : [butt1,butt2],
    items : [a1,a2]
};


chrome.notifications.create(notifopt,function() {
    console.log('Lady Gaga');
});

chrome.notifications.onClicked.addListener(function() { 
    console.log('notification Clicked');

});
chrome.notifications.onClosed.addListener(function() {
    console.log('notification Closed');
});
chrome.notifications.onButtonClicked.addListener(function() {
    console.log('notification Button Clicked');
});

Google Chrome -> другие инструменты --> расширение -> загрузить распакованный -> обновить расширение -> отобразить уведомление -> нажать кнопку1 -> нажать Посмотреть страницу представлений, в фоновом режиме -> вы видите console.log

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...