Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Многократное срабатывание chrome.tabs.onUpdated.addListener (https://javascript.ru/forum/misc/71327-mnogokratnoe-srabatyvanie-chrome-tabs-onupdated-addlistener.html)

Sonya 10.11.2017 23:29

Многократное срабатывание chrome.tabs.onUpdated.addListener
 
Здравствуйте! Подскажите, пожалуйста, почему когда я использую в background.js onUpdated алерт срабатывает по несколько раз.
chrome.tabs.onUpdated.addListener(function() {
    alert("123");
});

Вопрос задавался на форуме, но автор сам разобрался, но ответ не написал. Как сделать, чтобы скрипт срабатывал один раз.

Nexus 11.11.2017 15:07

Либо событие происходит несколько раз за клик, либо обработчик навешивается несколько раз.
Если алерт вызывается столько раз, сколько существует табов, то при изменении состояния одного изменяются и состояния остальных табов (что логично), что вызывает событие "onUpdated" на каждом из них.

Sonya 11.11.2017 15:41

А как можно исправить?

Nexus 11.11.2017 15:42

Цитата:

Сообщение от Sonya (Сообщение 469808)
А как можно исправить?

Вы причину установили, чтобы что-то исправлять?

Sonya 11.11.2017 16:23

Интересовалась, как можно сделать, чтобы срабатывал один раз табс (игнорируя другие), возможные варианты. Поставила условие для вызова алерт, срабатывает 1 раз.


Часовой пояс GMT +3, время: 23:44.