单击F5键(刷新)时,哪个事件在Internet Explorer(IE9)中升级?如何在我的BHO中使用Handler来捕获它?
注意: 我在C#中为IE9创建了一个BHO。我的类扩展了IObjectWithSite,允许我通过SetSite函数添加处理程序。
public int SetSite(object site)
{
webBrowser = (SHDocVw.WebBrowser)site;
//events here...
}
答案 0 :(得分: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.
};
}
我发现以下页面提供了丰富的信息:
答案 1 :(得分:1)
没有直接的方法,很难在不同版本的IE中实现。虽然您可以使用某些事件的组合来实现这一点。请注意以下方法并非万无一失。
<强>链接:强>