如何开始开发Internet Explorer扩展?
|
这里有没有人有/可以开发可以共享其知识的IE扩展的经验?这将包括代码示例,或指向好的示例的链接,或有关过程的文档,或任何内容。
我真的很想这样做,但是我却遇到了糟糕的文档,糟糕的代码/示例代码/缺少它。您可以提供的任何帮助/资源将不胜感激。
具体来说,我想先介绍如何从IE扩展中访问/操作DOM。
编辑,更多详细信息:
理想情况下,我想植入一个工具栏按钮,单击该工具栏按钮时,会弹出一个包含指向外部站点的链接的菜单。我还想访问DOM并根据某些条件在页面上植入JavaScript。
在IE扩展中保留信息的最佳方法是什么?在Firefox / Chrome /大多数现代浏览器中,您都使用
window.localStorage
,但显然对于IE8 / IE7,这不是一个选择。也许是SQLite数据库或类似的?可以假设将.NET 4.0安装在用户的计算机上吗?
我不想使用Spice IE,因为我也想构建一个与IE9兼容的。我也向这个问题添加了C ++标记,因为如果最好在C ++中构建一个,则可以这样做。
没有找到相关结果
已邀请:
10 个回复
翰冒绢县
创建以下文件: IEAddon.cs
互操作
最后是表格,我们将使用它来配置选项。在此表格中放置
和Ok
。将按钮的DialogResult设置为Ok。将此代码放在表单代码中:
在项目属性中,执行以下操作: 用强力钥匙在组件上签名; 在“调试”选项卡中,将“启动外部程序”设置为“ 9”。 在“调试”选项卡中,将“命令行参数”设置为“ 10” 在“构建事件”选项卡中,将“构建后事件”命令行设置为: \“%ProgramFiles(x86)%\\ Microsoft SDKs \\ Windows \\ v10.0A \\ bin \\ NETFX 4.6.1 Tools \\ gacutil.exe \” / f / i \“ $(TargetDir)$(TargetFileName )\“ \“%windir%\\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ RegAsm.exe \” /取消注册\“ $(TargetDir)$(TargetFileName)\” \“%windir%\\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ RegAsm.exe \” \“ $(TargetDir)$(TargetFileName)\” 注意:即使我的计算机是x64,我也使用了非x64
的路径,并且可以正常工作... x64的专用路径是: C:\\ Program Files(x86)\\ Microsoft SDKs \\ Windows \\ v10.0A \\ bin \\ NETFX 4.6.1 Tools \\ x64 \\ gacutil.exe 64位IE需要64位编译和64位注册的BHO。尽管我只能使用32位IE11进行调试,但是32位注册扩展也可以通过运行64位IE11来工作。 这个答案似乎对此有一些附加信息:https://stackoverflow.com/a/23004613/195417 如果需要,可以使用64位重装: %windir%\\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ RegAsm.exe 此加载项如何工作 我没有更改加载项的行为。。。下面介绍一下IE8部分。 ## IE8的先前答案 伙计...这是很多工作! 我很好奇如何做到这一点,以至于我自己做了。 首先...信誉不全是我的。这是我在以下网站上发现的内容的汇总: CodeProject文章,如何制作BHO; 15秒,但不是15秒,大约花了7个小时; Microsoft教程,帮助我添加了命令按钮。 这个social.msdn主题帮助我弄清楚该程序集必须位于GAC中。 此MSDN博客文章包含一个完整的示例 许多其他网站,在发现过程中... 当然,我希望我的答案具有您要求的功能: DOM遍历以查找某些内容; 显示窗口的按钮(以我为例进行设置) 保留配置(我将为此使用注册表) 最后执行javascript。 我将逐步介绍它,以及如何在Windows 7 x64中与Internet Explorer 8一起使用的方法。请注意,我无法在其他配置中进行测试。希望你理解=) 创建有效的Internet Explorer 8加载项 我使用的是Visual Studio 2010,C#4,.Net Framework 4,因此其中一些步骤可能对您略有不同。 创建了一个类库。我叫我InternetExplorerExtension。 将这些引用添加到项目中: 互操作 Microsoft.mshtml 注意:这些参考可能在每台计算机的不同位置。 这是我在csproj中的参考部分包含的内容:
创建文件的方式与更新IE11文件的方式相同。 IEAddon.cs 您可以取消注释IE11版本中的以下几行:
互操作 与IE11版本相同。 最后是表格,我们将使用它来配置选项。在此表格中放置
和Ok
。将按钮的DialogResult设置为Ok。该代码与IE11插件相同。 在项目属性中,执行以下操作: 用强力钥匙在组件上签名; 在“调试”选项卡中,将“启动外部程序”设置为“ 9”。 在“调试”选项卡中,将“命令行参数”设置为“ 10” 在“构建事件”选项卡中,将“构建后事件”命令行设置为: \“ C:\\ Program Files(x86)\\ Microsoft SDKs \\ Windows \\ v7.0A \\ Bin \\ NETFX 4.0 Tools \\ x64 \\ gacutil.exe \” / f / i \“ $(TargetDir )$(TargetFileName)\“ \“ C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ RegAsm.exe \” /取消注册\“ $(TargetDir)$(TargetFileName)\” \“ C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ RegAsm.exe \” \“ $(TargetDir)$(TargetFileName)\” 注意:由于我的计算机是x64,因此我的计算机上gacutil可执行文件的路径中有一个特定的x64,可能与您的不同。 64位IE需要64位编译和64位注册的BHO。使用64位RegAsm.exe(通常位于C:\\ Windows \\ Microsoft.NET \\ Framework64 \\ v4.0.30319 \\ RegAsm.exe中) 此加载项如何工作 它遍历所有DOM树,用黄色背景本身替换使用按钮配置的文本。如果单击发黄的文本,它将调用动态插入页面的javascript函数。默认单词是“浏览器”,因此它与很多单词匹配! 编辑:更改要突出显示的字符串后,您必须单击URL框,然后按Enter键。F5将不起作用,我认为这是因为F5被视为\'navigation \',并且需要收听导航事件(也许)。我稍后会尝试解决。 现在,该走了。我很累。 随便问问题...也许因为我要去旅行而无法回答...三天后我会回来,但我会同时尝试到这里来。
补蹲农界维
净爽
庞协腿宛炯
舜辉
bab
豆兢
久纳禾澎
死狸蔽垂藐
凸晴
我想要“构建事件”选项卡,将“构建后事件”命令行设置为(32位操作系统)