繁体   English   中英

使用mshtml HTMLDocument修改DOM并在IE浏览器扩展/ BHO中显示

[英]use mshtml HTMLDocument to modify DOM and display in IE browser extension/ BHO

我正在使用C#.NET:mshtml.HTMLDocument,mshtml.HTMLImg等。

我想要做的是修改DOM并在浏览器中反映出更改。 例如

           HTMLDocument doc = WebBrowser.Document as HTMLDocument;
           HTMLImg img;
           for (int i = 0; i < doc.images.length; i++)
           {
               img = doc.images.item(i) as HTMLImg;
               ProcessImg(ref img);                   
           }

不幸的是,已处理/修改的图像未显示在浏览器中。 我想Ineed可以将图像保存在本地并更改IMG标签的src属性。 但是除了不成功(请帮助!)之外,我担心它也不会显示。 我如何告诉浏览器进行更新(如有必要)

伙计们,加油! 伯特您会采取什么方法?

正确,如果不更改SRC属性,就无法更改现有图像。 您应该共享不起作用的代码,以供他人查看。

请记住,出于性能和可靠性的考虑,强烈建议不要在.NET中编写用于IE的浏览器扩展。

检查此链接 ,因为我正在使用正在使用的插件进行操作,所以绝对有可能修改显示的页面。

基本上,该类实现了IObjectWithSite和IOleCommandTarget,前者允许您的代码订阅浏览操作,而后者则使UI操作挂接。 示例链接中的代码设置/清除了要修改的实际文档HTMLDocument。

编辑 :我认为,尽管外观HTMLDocument不在mshtml命名空间中,但实际上在System.Windows.Forms中。 R#则表示相反,但是整个mshtml命名空间感觉就像是在通过定向和消化不良引发的错误定向中进行的一种练习,可以很好地解决问题。

暂无
暂无

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

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