Почему функция chrome.notifications.onButtonClicked.addListener выполняется несколько раз? - PullRequest
0 голосов
/ 22 октября 2018

Я хочу показывать несколько уведомлений одновременно.Если я запускаю функцию NotificationBasic несколько раз в цикле.Я получаю уведомления в правом нижнем углу экрана без проблем.Но если я нажимаю кнопку уведомления один раз, она действует так, как если бы я нажимала несколько раз и регистрирует кучу КНОПКИ, НАКЛОНЕННОЙ на консоли.С другой стороны, IDS РАВНЫ нигде не отображаются.

Если я нажал на кнопку уведомления, я хочу открыть страницу index.html.

function NotificationBasic(NotificationTitle, NotificationMessage, href){
    var options = {
        type: "basic",
        title: NotificationTitle,
        message: NotificationMessage,
        iconUrl: "icon.png",
        contextMessage: "Notification",
        buttons: [{
            title: "Go to the topic-->"
        }]
    };
    chrome.notifications.onButtonClicked.addListener(function(notifId){
        console.log("BUTTON CLİCKED");
        console.log("notifId: "+notifId);
        console.log("myNotificationID: "+myNotificationID);
        if(notifId == myNotificationID){
            console.log("IDS ARE EQUAL");
            window.open("/index.html"); 
        }      
    });
    chrome.notifications.create(options, function(id){
        myNotificationID = id;
    });
}

    for(let i = 0; i<new_ids.length; i++){
        let topic_id = ids.indexOf(new_ids[i]);
        new_topics[i] = messages[topic_id];
        if((messages[topic_id][1].includes("?day=")==false)){
        NotificationBasic(messages[topic_id][0], 'New topic', messages[topic_id][1]);
        }
    }

enter image description here

1 Ответ

0 голосов
/ 22 октября 2018

В вашей функции chrome.notifications.onButtonClicked.addListener(...) выполняется много раз, поэтому регистрируется так много строк.

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