【问题标题】:Developing a really simple browser extension开发一个非常简单的浏览器扩展
【发布时间】:2011-08-17 17:58:42
【问题描述】:

我正在寻找开发浏览器扩展程序。

一旦安装此扩展程序,将告诉浏览器在来自特定域列表的所有页面加载中包含一个 javascript 文件。

这种类型的扩展程序被 Google Chrome 称为“内容脚本”。

根据我的阅读,要为 Chrome 创建这种类型的扩展程序,您只需将此代码放入 “清单”文件

{
  "name": "My extension",
  ...
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "js": ["jquery.js", "myscript.js"]
    }
  ],
  ...
}

安装扩展后 jquery.js 和 myscripts.js 将包含在 google.com 的每个页面加载中

Chrome 采用的这种扩展开发方法看起来非常简单。

我的问题是,为其他主流浏览器复制这种类型的扩展有多难?

【问题讨论】:

  • 对于其他主流浏览器之类的? Firefox 有自己的插件机制。 Safari 自己的。我会说,尝试使用 Greasemonkey 的扩展程序,它适用于大多数主流浏览器,并考虑使用 Greasemonkey 尝试内容脚本。
  • Crossrider 可以通过他们的跨浏览器扩展开发框架帮助您。 (您可以快速开始使用 javascript 和在线 IDE)

标签: javascript google-chrome-extension browser-extension


【解决方案1】:

Firefox 本身不提供加载内容脚本的简单方法。但是,GreaseMonkey add-on 确实如此,并且在http://userscripts.org/ 上有大量示例脚本可供选择。此外,GreaseMonkey 脚本可以是 compiled into a "real" extension,不再需要 GreaseMonkey,它们也可以安装在 Chrome 中(无需扩展)。

Firefox 的另一种可能性是使用Add-on Builder or SDKpage-mod module。像这样的东西应该可以工作:

var pageMod = require("page-mod");

pageMod.PageMod({
  include: ["http://www.google.com/*"],
  contentScriptFile: [data.url("jquery.js"), data.url("myscript.js")]
});

使用 Add-on Builder 应该很容易将此代码转换为实际的扩展。但是,我没有使用 Add-on SDK 的经验,因此无法为您提供任何其他帮助。

【讨论】:

  • 我听说过greasemonkey 和用户脚本。但由于我的扩展程序的简单性。我想完全避免greasemonkey。但是我不知道greasemonkey之上的这个真正的扩展选项。
  • 所以对于 Chrome,我应该使用上面的代码创建一个清单文件。对于 Firefox,在greasemonkey 之上编译一个真正的扩展。可怕的 IE 呢?
  • 对于 firefox,你不需要编译任何东西。它是用 xul 编写的并压缩到 xpi 容器文件中(只需创建一个 zip 并将其重命名为 xpi ;)
  • @Walialu:当您知道自己在回复什么时,它会有所帮助。我说的是用户脚本,压缩它们当然不足以将它们变成真正的扩展。
  • @jamjam:我编辑了我的回复以添加一个基于附加 SDK 的示例,这可能比古老的 GreaseMonkey 编译器更好 - 它更类似于您在 Chrome 中所做的.
【解决方案2】:

试试Kango Framework。这是一个跨浏览器扩展框架。您可以为使用单一源代码的所有主要浏览器开发扩展。支持 IE、Firefox、Chrome、Opera 和 Safari。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2012-05-20
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多