在座有人有开发IE扩展的经验吗?这将包括代码示例,或链接到好的示例,或关于流程的文档,或任何东西。

我真的很想这么做,但我碰到了一堵巨大的墙,里面有糟糕的文档、糟糕的代码/示例代码/缺乏它们。你能提供的任何帮助/资源都将不胜感激。

具体来说,我想从如何从IE扩展中访问/操作DOM开始。

编辑,甚至更多的细节:

理想情况下,我想种植一个工具栏按钮,当点击时,弹出一个菜单,其中包含到外部网站的链接。我还想根据某些条件访问DOM并在页面上植入JavaScript。

在IE扩展中保存信息的最好方法是什么?在Firefox/Chrome/大多数现代浏览器中,你使用window。localStorage,但显然在IE8/IE7中,这不是一个选项。也许是SQLite DB之类的?可以假设。net 4.0将安装在用户的计算机上吗?

我不想使用Spice IE,因为我想构建一个与IE9兼容的IE。我也为这个问题添加了c++标签,因为如果用c++构建一个更好的话,我可以这样做。


当前回答

开发c# bho是一件非常痛苦的事情。它涉及大量烦人的COM代码和p/invoke调用。

我这里有一个基本完成的c# BHO,你可以自由地使用源代码来做任何你想做的事情。我之所以说“大部分”,是因为我从未弄清楚如何在IE保护模式下保存appdata。

其他回答

另一个很酷的方法是查看:

http://www.crossrider.org

它是一个基于JS和jquery的框架,可以让你用一个简单的JS代码为IE, FF和Chrome开发浏览器扩展。 基本上,框架完成了所有烦人的工作,剩下的就是编写应用程序代码。

开发c# bho是一件非常痛苦的事情。它涉及大量烦人的COM代码和p/invoke调用。

我这里有一个基本完成的c# BHO,你可以自由地使用源代码来做任何你想做的事情。我之所以说“大部分”,是因为我从未弄清楚如何在IE保护模式下保存appdata。

如果你不打算重新发明轮子,你可以试试IE的Add In Express。我已经使用该产品的VSTO的东西,它很好。此外,他们有一个有用的论坛和快速的支持。

我热情地向你推荐帕维尔·佐尔尼科夫在2002年发表的这篇文章!

http://www.codeproject.com/Articles/2219/Extending-Explorer-with-Band-Objects-using-NET-and

它基于Band对象的使用,并使用. net 2.0编译。 提供了源代码,并使用Visual Studio 2013很好地打开和编译。 正如你将在帖子评论中读到的,它在IE 11和Windows 7和Windows 10上运行得非常好。 它在Windows 7 + SP1和IE 11上运行得非常好 享受吧!

这显然是解决了,但对于其他用户,我建议使用SpicIE框架。我在此基础上做了自己的扩展。它只支持Internet Explorer 7/8官方版本,但我在Internet Explorer 6-10(从Windows XP到Windows 8消费者预览版)上进行了测试,结果很好。 不幸的是,在最新的版本中有一些bug,所以我不得不修复它们,并发布了自己的版本: http://archive.msdn.microsoft.com/SpicIE/Thread/View.aspx?ThreadId=5251