1

我发现这篇关于“注入方式”的好文章,但作者从未完成它: http ://hightechstartups.blogspot.ch/2012/05/different-way-of-developing-browser.html

我想要一个简单的跨浏览器扩展,没有任何第 3 方扩展或框架(尽可能轻量且不依赖于第 3 方),它将从远程服务器加载 Jquery 和 JS,并且能够在之前加载它或页面完全加载后。

我已经阅读了很多关于这个主题的主题,但是由于 IE10、Chrome 26 和 FF20 都出现了新的交叉链接限制,我想知道是否有人有关于以下要求的资源、源代码或教程:

我需要 :

  • 跨浏览器扩展支持(IE 8+ 或 9+ 更坏的情况,Chrome 26+,FF20+,Safari)

    • 能够注入托管在另一台服务器上的单个 JS。在 HTML 页面的头部插入一个引用 javascript 文件的脚本标记,然后执行

    • 不依赖第三方扩展(greasmonkey)或框架(Kango、Crossrider)

    • 能够在页面完全加载之前或之后加载

此方法允许我根据用户的位置自定义浏览器扩展,并且还可以避免在每次页面刷新时更新 JS 时进行更新。我知道缺点,但我想实现这一点。

我知道像 Kango 或 crossrider 这样的跨浏览器框架,但两者都不适合我的需要。

我能找到的最接近的例子是如何运行我刚刚从 BHO 动态插入的 <script> 标记, 但它只涵盖 IE,并且由于我的 Csharp 经验很少,我想看一个完整的例子来理解它正确地从例子中学习。

我很想举几个例子,即使它不是跨浏览器的(IE 对我来说是最糟糕的部分)。多谢您的支持 !

更新1:

关于 Kango 和 Crossrider,如果你想使用 IE,Kango 是 2000 美元,而对于 Crossrider,你需要由他们分发和货币化。

我已经设法为 IE 和 Chrome 编写代码,但我一直在寻找一种“优雅”的方式,并认为考虑到该网站上人们的知识水平,这是最好的询问方式。

对于安装程序,我目前使用 NSIS,但我也会测试 Wix。

最后,我想我唯一的方法是学习 C++ 和 .net 以使其与 IE 一起使用,但如果有人可以提供更多源代码,那么测试速度和兼容性并在这里讨论什么是最好的解决方案会很棒。

4

1 回答 1

0

为什么 Kango 或 Crossrider 不符合您的需求?这两个框架都允许您操作页面的 DOM(这是您想要的):

如果您想编写自己的解决方案,请查看相关文档:

Internet Explorer 本身不支持扩展。我花了大约 80 个小时来创建一个稳定可靠的 IE 扩展,它支持跨站点 AJAX,一种(偏好)存储方法,并根据其 URL 尽早在任何框架中注入脚本。我在 Windows XP 和 Windows 7 上针对 IE 8-10 使用 Visual Express 2010 开发和测试了该扩展(该扩展可能适用于 IE6/7,但我决定不支持这些古老且很少使用的浏览器)。

首先,我在 C# 中基于LiveReloadIEExtension编写了一个扩展(一个示例 IE 扩展,它又基于此 Stack Overflow 答案- 另请参阅此博客文章)。它是功能性的,但它需要 .NET 4,缺乏对框架的支持,而且速度相对较慢。

所以,我决定用 C++ 从头开始​​编写一个 IE 扩展。http://www.wischik.com/lu/programmer/bho.html提供了一个很好的起点:C++ BHO 的示例代码,它根据键/鼠标事件更改文档的背景。通过查看 CodeProject 上的其他代码示例、MSDN 论坛上的主题、Stack Overflow 上的问题和答案、许多其他博客以及 MSDN 文档,我也学到了很多东西:

创建 IE 扩展后,当然要部署它。我使用Wix 工具集创建了一个 MSI。

于 2013-05-03T16:12:54.387 回答