Я разрабатываю хром-плагин, который вводит класс каждому элементу страницы. Но в страницах, таких как Facebook или щебет есть содержание загружается динамически, поэтому я использую этот код, чтобы проверить, когда этот conent загружен:chrome ext: limit DOMNodeInserted
document.addEventListener('DOMNodeInserted', function() {
console.log('fatto');
}, true);
проблема в том, что таким образом, скрипт срабатывает каждый раз, когда узел вставляется. Поэтому я хотел бы добавить какое-то ограничение. что-то вроде: Когда узел вставлен, запустите сценарий, а затем подождите 2 секунды.
Я пытаюсь что-то подобное, но не успех:
var check = 1;
document.addEventListener('DOMNodeInserted', function() {
if(check == 1) {
check = 0;
setInterval(function() {
//do stuff
check = 1;
}, 1000);
console.log('fatto');
}
}, true);
благодаря
Если я правильно понимаю ваш код, это теоретически может задержать выполнение функции 'doStuff' бесконечно (т. Е. Когда каждый раз вызывается событие« DOMNodeInserted »). –
@kdzwinel: Да. Я не уверен, что это требование. –
OP может закончиться неприятной задержкой в выполнении 'doStuff()', когда загружается такая страница, как Facebook/Twitter. При вставке страницы сначала добавляется множество элементов. Но это всего лишь предположение, его нужно протестировать. Очень хороший код BTW! –