2012-05-07 34 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. 
    }; 
} 

我发现下面的页面是信息: