BHO渲染事件

时间:2015-04-24 07:13:32

标签: javascript c# internet-explorer bho

我正在使用BHO开发IE扩展。目前我正在使用OnDocumentComplete事件,该事件在页面加载完成时触发。我想在渲染HTML时注入我的JavaScript,以便我可以动态更新HTML。

简单示例: 我想替换HREF属性。但是在OnDocumentComplete事件上,用户可以单击该链接并可以访问实际链接。但如果他/她等到页面加载完成,那么他/她将被重定向到更新的链接。

请提供宝贵的输入,以便在渲染时更新DOM。

谢谢, 弥勒

2 个答案:

答案 0 :(得分:0)

在加载页面时,您可以使用:

<script>
   window.onload = function(){
      /* DOM handling */ 
   }
</script>

执行Javascript,这是你的意思吗?

答案 1 :(得分:0)

你可以使用在IHTMLWindow2::execScript处理程序中的窗口对象上调用的OnDocumentComplete来执行你的javascript:

public void OnDocumentComplete(object pDisp, ref object URL)
{
  HTMLDocument document = (HTMLDocument)webBrowser.Document;
  IHTMLWindow2 parentWindow = document.parentWindow;
  parentWindow.execScript("alert('your javascript')");
}

其中webBrowser是您在WebBrowser

中设置的SetSite课程的对象