Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 浏览器扩展名;“注入方式”;跨浏览器扩展,包括来自远程服务器的JS_Google Chrome Extension_Cross Browser_Firefox Addon_Bho - Fatal编程技术网

Google chrome extension 浏览器扩展名;“注入方式”;跨浏览器扩展,包括来自远程服务器的JS

Google chrome extension 浏览器扩展名;“注入方式”;跨浏览器扩展,包括来自远程服务器的JS,google-chrome-extension,cross-browser,firefox-addon,bho,Google Chrome Extension,Cross Browser,Firefox Addon,Bho,我发现了这篇关于“注入方式”的好文章,但作者从未完成: 我想要一个基本的跨浏览器扩展,没有任何第三方扩展或框架(尽可能轻,不依赖第三方),可以从远程服务器加载Jquery和JS,并且能够在页面完全加载之前或之后加载 我已经阅读了很多关于这个主题的主题,但是由于IE10、Chrome 26和FF20都有新的交叉链接限制,我想知道是否有人有关于以下要求的资源、源代码或教程: 我需要: 跨浏览器扩展支持(即8+或9+更糟的情况,Chrome) 26+,FF20+,狩猎) 能够注入托管在另一台服务

我发现了这篇关于“注入方式”的好文章,但作者从未完成:

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

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

我需要:

  • 跨浏览器扩展支持(即8+或9+更糟的情况,Chrome) 26+,FF20+,狩猎)

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

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

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

这个方法允许我根据用户的位置定制浏览器扩展,并且它还可以避免在每次页面刷新时更新JS。 我知道缺点,但我想做到这一点

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

我能找到的最接近的例子是 但它只涉及IE,由于我对Csharp的经验很少,我希望看到一个完整的例子来正确理解它并从中学习

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

更新1:

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

我已经成功地为IE和Chrome编写了代码,但我一直在寻找一种“优雅”的方式,考虑到这个网站上人们的知识水平,我认为这是最好的提问方式

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


最后,我想我的唯一方法就是学习C++和.NET,让它与IE一起工作,但是如果有人能提供更多的源代码,那么测试速度和兼容性就很好了,这里讨论什么是最好的解决方案。< /P> < P >为什么Kango或CrrRiver不适合你的需要?这两个框架都允许您操作页面的DOM(这是您想要的):

  • 康戈:
  • 横越者:
如果要编写自己的解决方案,请查看相关文档:

  • (铬)
  • JetpackAPI(Firefox)
  • (狩猎)
  • (歌剧)
Internet Explorer本机不支持扩展。我花了大约80个小时创建了一个稳定可靠的IE扩展,它支持跨站点AJAX,一种(首选)存储方法,并根据URL尽早在任何框架中注入脚本。我在Windows XP和Windows 7上为IE 8-10开发并测试了Visual Express 2010扩展(该扩展可能在IE6/7上工作,但我决定不支持这些古老且很少使用的浏览器)

首先,我用C#编写了一个基于的扩展(一个示例IE扩展,它又基于-参见)。它是功能性的,但需要.NET4,缺乏框架支持,而且速度相对较慢

<>所以,我决定从头开始写一个IE扩展C++。一个好的起点是:C++代码BHO的样例代码,它基于键/鼠标事件改变文档的背景。我还通过MSDN论坛上的主题、有关堆栈溢出的问答、许多其他博客和MSDN文档了解了很多内容:

  • 列出用于查找适当注入点的几个事件
  • 列出了更多的接口。您将主要对
    iHTMLDocument
    iHTMLDocument2
    。。。接口

在创建IE扩展之后,当然要部署它。我曾经创建过一个MSI。

以下内容可以将JS注入页面(你可以在谷歌上搜索每个页面并找到下载链接等):FF-Greasemonkey GC-Tampermonkey-Greasemonkey for IEThanks感谢您的贡献,但是我想避免依赖于另一个像Greasemonkey这样的扩展,有没有理由不想要monkies?它们允许定制功能(可以跨不同的浏览器使用),您可以同时使用JS和jQuery注入。我看到的唯一问题是,这是在页面加载完成后发生的。非常感谢您的回答和宝贵的链接,我相应地更新了我的问题,因为理想情况下,我希望找到一种优雅的编码方式,特别是对于IE.@ Belcox不要看我的优雅:P i有零C,几乎没有C++技能,当我开始开发一个IE扩展。通过尝试创建一个工作的IE扩展,我在回答中提供了两个完全工作的示例。您应该能够使用我的答案中的资源创建您的第一个BHO。非常感谢您的支持,我只是很惊讶我没有发现任何人发布具有cross broswer支持的简单JS Injector。@BillCox,因为这样的东西价值数百万,例如。请展示一些认真的研究,我为您介绍了开发工作扩展的可行起点,而您甚至没有尝试理解或使用代码!我的意思是没有不尊重,你的贡献是非常宝贵的,特别是完整的C++ BHO例子,我没有完成它的唯一原因是我从来没有做过C++,所以我安装VS和学习。