2010-02-10 2 views
2

Firefox 용 확장 프로그램을 개발하는 동안 페이지로드 이벤트를 캡처하려고합니다. 나는 이것을 위해 ProgressListeners를 사용하고있다. onLocation 변경 이벤트는 사용자가 탭을 전환 할 때마다 이벤트를 발생시키기 때문에 사용할 수 없습니다. 나는 그가 방문한 모든 새로운 페이지를 기록하고 싶다. OnProgressChange는 나를 위해 작동하지만 이것은 페이지 당 여러 번 발생합니다. 페이지 당 하나의 항목에 대해 어떻게 기록합니까? 내가들을 필요가있는 다른 사건이 있습니까? 물론이 여러 번 호출 그래서 사전에Firefox 확장 : onProgressChange가 여러 번 호출되었습니다.

감사합니다 ..

답변

0

onProgressChange는 진행에 대한 알림에 사용됩니다.

진행률 수신기를 개별 탭이 아닌 탭 브라우저에 연결하면 사용자가 탭을 전환 할 때 onLocationChange이 표시됩니다.

시도해 볼 수 있습니다. listening to (progress) events on all tabs - 필요한 모든 이벤트를 덤프하고 onLocationChange 또는 onStateChange 중 하나를 선택하십시오.

0

모든 크롬 창에서 DOMContentLoaded 청취자를 appcontent 요소에 연결하여 페이지로드를 캡처 할 수 있습니다. 이렇게 :

var LoadTest = { 
    // chrome window loaded 
    onload: function() { 
     var appContent = document.getElementById("appcontent"); 
     appContent.addEventListener("DOMContentLoaded", function(e) { 
      alert("page loaded"); 
     }, true); 
    } 
}; 

window.addEventListener("load", LoadTest.onload, false); 

LoadTest.onload 메서드는 새 크롬 창이로드 될 때 실행됩니다. DOMContentLoaded을 청취하는 기능은 페이지를 방문하거나 탭을 열 때마다로드됩니다.

관련 문제