繁体   English   中英

IE9的BHO中的刷新(F5)eventHandler

[英]refresh (F5) eventHandler in BHO for IE9

单击F5键(刷新)在Internet Explorer(IE9)中引发哪个事件? 我如何在BHO中使用处理程序来捕获它?

注意:我已经在IE9的C#中创建了BHO。 我的课程扩展了IObjectWithSite,使我可以通过SetSite函数添加处理程序。

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

如果您正在开发一个注入Javascript的浏览器插件,我发现钩住ondocumentcomplete和ondownloadcomplete很有用。

  • DOM加载并可以对其进行操作后,就会立即触发Ondocumentcomplete,但它会丢失刷新。

  • Ondownloadcomplete等待直到所有资源(例如图像)都已下载,但是捕获刷新。 此延迟可能会很长。

通过同时钩住这两个选项,您在大多数情况下都会获得响应式插件,并且不会错过任何刷新。 然后,您的JavaScript可以包含检查,以避免运行两次。 就像是:

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

我发现以下页面可为您提供丰富的信息:

没有直接的方法,并且很难在不同版本的IE中实现。 尽管您可以结合使用一些事件来实现。 警告以下方法并非万无一失。

链接:

  1. MSDN论坛
  2. 检测IE刷新按钮
  3. 刷新和DISPID_DOCUMENTCOMPLETE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM