2011-08-01 4 views
5

AJAX 업데이트에 리스너를 연결하여 크롬 확장을 다시로드 할 수 있습니다. 사용자가 클릭하여 AJAX를 통해로드 된 사이트의 다른 섹션으로 이동하면 확장 프로그램이 표시되지 않습니다. 이 사이트는 내 사이트가 아니므로 AJAX 업데이트를 제어하지 않습니다. 감사!크롬 확장자를 통해 AJAX 이벤트에 리스너 부착

+0

행운이 있나요? 다른 이유로 동일한 문제를 해결하려고 노력 중입니다. 브라우저에서 수신하는 모든 응답의 내용을보고 싶습니다. Chrome에서 Developer Toolbar가 수행하기 때문에이 작업을 수행 할 수있는 방법이 있어야하며 자바 스크립트로 구현되었습니다. – Omn

+0

나는 대답이 당신을 도울 수 있다고 생각합니다 : http://stackoverflow.com/a/11811558/453767 –

답변

4

당신은 (실험 API를 사용하지 않고) 아약스 요청을들을 수는 없지만, 당신은 DOM이 수정 될 때마다 화재 것을 DOMSubtreeModified 이벤트를 수신 할 수 있습니다

document.addEventListener("DOMSubtreeModified", function(event){ 
     //something on the page has changed 
}); 

그냥 수백있을 수 있습니다로주의해야 큰 덩어리의 페이지가 수정 될 때 몇 초 내에 발사되는 그러한 사건들. 약간의 지연을 구현해야 할 수도 있습니다.

+0

감사합니다. @serg 나는 이미 그것을하고있어 피곤하고 작동하지만, 당신이 말했듯이 그것은 끊임없이 사건을 해고했다 :(나는 이것이 ' t은 끝내야 만합니다. 왜냐하면 내 사용자가 확장 프로그램을 다시로드하거나 브라우저의 다시로드 버튼을 클릭하는 버튼을 만들어야하기 때문입니다. 어쨌든 고마워요! –

+0

@Garth 확장 프로그램의 기능에 대해 자세히 설명 할 수 있습니까? 어떤 종류의 아약스 요청 (특정 또는 무엇인가?)과 확장 기능을 다시로드해야하는 이유는 무엇입니까? 지연 작업으로 DOMSubtreeModified를 수행 할 수 있습니까? – serg

+0

jquery를 사용하여 청취자를 연결할 수없는 이유는 무엇입니까? – Setheron