2012-05-07 3 views
0

F5 키 (새로 고침)를 클릭하면 Internet Explorer (IE9)에서 어떤 이벤트가 발생합니까? 그리고 BHO에서 Handler를 사용하여 어떻게 잡을 수 있습니까?IE9 용 BHO에서 refresh (F5) eventHandler

참고 : IE9 용 C#으로 BHO를 만들었습니다. 내 클래스는 SetSite 함수를 통해 핸들러를 추가 할 수있는 IObjectWithSite를 확장합니다.

public int SetSite(object site) 
{ 
    webBrowser = (SHDocVw.WebBrowser)site; 
    //events here... 
} 

답변

2

당신은 자바 스크립트를 주입 브라우저 플러그인을 개발하는 경우, 나는 유용 모두 ondocumentcomplete 및 ondownloadcomplete 후크 발견 .

  • Ondocumentcomplete는 DOM이로드되고 조작 될 수 있지만 표시를 새로 고치지 않는 즉시 실행됩니다.

  • Ondownloadcomplete는 모든 리소스 (예 : 이미지)가 다운로드되었지만 새로 고침을받을 때까지 대기합니다. 이 지연은 꽤 길 수 있습니다.

두 가지를 모두 연결하면 반응 형 플러그인을 대부분 사용하며 새로 고침을 놓치지 않습니다. 귀하의 자바 스크립트는 다음 두 번 실행을 피하기 위해 수표를 포함 할 수 있습니다. 뭔가 같은 : 나는 다음과 같은 페이지를 발견

// Inject the code, but only once 
if (typeof myplugin == 'undefined') { 
    myplugin = new function() { 
     // Your code runs here. 
    }; 
} 

유익합니다 :