[英]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中实现。 尽管您可以结合使用一些事件来实现。 警告以下方法并非万无一失。
链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.