페이지의 모든 요소에 클래스를 삽입하는 크롬 플러그인을 개발 중입니다. 그러나 그러한 또는 페이스 북과 같은 페이지에서 트위터가 동적으로로드 된 내용은, 그래서이 conent이로드 될 때 확인하려면이 코드를 사용크롬 내선 : 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()'실행에서 불쾌한 지연을 초래할 수 있습니다. 페이지가 처음 열릴 때 많은 요소가 삽입됩니다. 그러나 그것은 단지 가정 일 뿐이며, 테스트를 받아야합니다. 아주 좋은 코드 BTW! –