2010-11-19 63 views
1

我正在为Internet Explore编写一个BHO附加组件(8和9)。我跟着this教程解释了如何编写隐藏页面上所有图像的加载项。 问题是这些图像在页面下载后隐藏。所以一秒钟就有整页,然后所有的图像消失。 我不得不说,当用户打开页面时,即使是一秒钟也不会有任何图像。如何检测Internet Explorer中的图像加载(并且不显示它)?

我在DWebBrowserEvents2中找不到合适的事件。也许我应该看看IHTMLDocument2。我其实不知道。

有什么建议吗?

+0

你试过这个:DISPID_DOWNLOADBEGIN? – 2010-11-22 03:47:56

+0

是的,我试过了。这一个没有给我什么。我不知道什么时候它被激发,通常有两个DownloadBegin事件,当你想查看新的网站。 – 2010-11-22 09:43:47

+0

您知道Internet Explorer可以关闭图片吗? (工具 - > Internet选项 - >高级 - >显示图片) – Chris 2010-11-23 07:59:50

回答

1

你不能用IE做这个。在下载图像之前,DWebBrowserEvents事件被启动得太晚,无法修改DOM。

您会看到一条引用您的异步可插入协议的注释,这是一种在较低级别挂接到IE的方法,但这非常棘手,并且不建议由Microsoft为http/https执行此操作。查看MSDN IE Extension Developer forum了解更多关于此的讨论。

+0

我读过关于“异步可插入协议”。但我认为我可以只写自定义协议处理程序,如[这里](http://www.codeproject.com/KB/aspnet/AspxProtocol.aspx)和[这里](http://www.codeproject.com/KB /IP/DataProtocol.aspx)。我以为我不能写它的HTTP,因为人们正在尝试写一些我想实现的黑客([链接](http://stackoverflow.com/questions/1052141/ie-mime-content-filtering))。你认为试图编写HTTP异步可插入协议是我需要的吗? – 2011-01-12 15:41:51

+0

我接受了你的回答。我最终尝试这种“异步可插入协议”的方法。看起来它是在下载任何东西之前进行过滤的唯一方式(除了低级API挂钩外)。 你有关于使用HTTP协议做APP的任何资源吗? – 2011-02-06 21:52:53

+0

我读过的最佳贴子是http://groups.google.com/group/microsoft.public.inetsdk.programming.mshtml_hosting/msg/7013a517c207d543?pli=1,并搜索伊戈尔的其他各种帖子,他似乎是世界上唯一知道如何做这件事的人。 – Rory 2011-02-07 21:14:12

相关问题