2012-05-07 57 views
0

點擊F5鍵(刷新)時哪個事件在Internet Explorer(IE9)中上升?我如何在BHO中使用Handler來處理它?在BHO中爲IE9刷新(F5)eventHandler

說明: 我在C#中爲IE9創建了一個BHO。我的類擴展IObjectWithSite,允許我通過SetSite函數添加處理程序。

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

回答

2

如果你正在開發一個瀏覽器插件,注入的JavaScript,我發現它很有用大鉤ondocumentcomplete和ondownloadcomplete 。

  • 只要DOM已經加載並且可以被操縱,Ondocumentcomplete會立即觸發,但它會丟失刷新。

  • Ondownloadcomplete一直等到所有資源(例如圖像)都下載完畢,但捕獲刷新。這種延遲可能會很長。

通過鉤住兩者,你大部分時間都會得到一個響應式插件,而且你不會錯過刷新。然後您的JavaScript可以包含一個檢查以避免運行兩次。喜歡的東西:

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

我發現下面的頁面是信息: