Gmail받은 편지함을 정기적으로 새로 고치는 Ajax 이벤트 캡처 방법

StackOverflow https://stackoverflow.com/questions/612576

  •  03-07-2019
  •  | 
  •  

문제

Gmail과 함께 작동하는 Greasemonkey 스크립트를 작성하려고합니다. 받은 편지함 링크 또는 새로 고침 링크를 클릭하는 사용자에게 반응하는 JavaScript를 만드는 방법을 알고 있습니다. 내 문제는 Gmail이 새로운 대화로받은 편지함을 정기적으로 새로 고치고이 이벤트를 캡처 할 방법이 없다는 것입니다. JavaScript에서 정기적 인 Ajax 이벤트를 캡처하는 방법이 있습니까?

도움이 되었습니까?

해결책 2

위의 Miles의 훌륭한 제안을 시도했지만 불행히도 Gmail은 Greasemonkey 스크립트에서 변경할 수있는 기회를 갖기 전에 이미 원래 Settimeout 기능을 호출했기 때문에 작동하지 않습니다.

내가 할 수있는 유일한 일은 주기적으로받은 편지함을 새로 고칠 때 Gmail이 만드는 변화에 어떻게 반응하는 것입니다. 노드가 추가되거나 제거 될 때 발사되는 몇 가지 DOM 관련 이벤트가 있음을 알았습니다.

http://www.w3.org/tr/dom-2-2-3-events/events.html#event-domnodeinserted

Gmail은 최신 이메일로 DOM을 업데이트하고 있기 때문에 이러한 DOM 이벤트를 듣고 (DomnodeInserted를 사용하고 있음) 변경 사항에 반응 할 수 있습니다.

우아하지는 않지만 작동합니다.

다른 팁

교체 할 수 있습니다 window.setTimeout 기능 (및 아마도 window.setInterval) 자신의 기능으로 :

window._setTimeout = window.setTimeout;
window.setTimeout = function(func, delay) {
    return window._setTimeout(function() {
        // Your code goes here, before the client function is called
        alert('A timeout event just fired!');

        if (typeof func == 'string') {
            eval(func);
        } else {
            func();
        }
    }, delay);
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top