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);
}
Ваш код запускается в первый раз, а затем ждет до полсекунды после последнего вызова функции-дубликата, прежде чем разрешить работать другим щелчкам.