API chrome.notifications.onButtonClicked Notification als Параметр

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

количество открытых уведомлений = x = количество выполненного кода onButtonClicked.addListener.

Я обнаружил, что я несколько раз открывал новый onButtonClicked.addListener.. вот в чем проблема.

Marvin

3 ответа

Решение

Это произошло потому, что я открываю новый обработчик щелчков каждый раз, когда открываю новое уведомление.

Установите только новый onButtonClicked.addListener в вашем скрипте вместо того, чтобы устанавливать новый каждый раз, открывая новое Уведомление.

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

Мой обходной путь был:

var ignoreNotificationClicks = false

function notificationButtonClick (notificationID, buttonId) {
    if (!ignoreNotificationClicks) {

        //Your code here

    }
    ignoreNotificationClicks = true;
    setTimeout(function(){ ignoreNotificationClicks = false }, 500);
}

Ваш код запускается в первый раз, а затем ждет до полсекунды после последнего вызова функции-дубликата, прежде чем разрешить работать другим щелчкам.

Другие вопросы по тегам