javascript - 开发一个非常简单的浏览器扩展

标签 javascript google-chrome-extension browser-extension

我正在寻求开发一个浏览器扩展。

此扩展程序安装后会告诉浏览器在从特定域列表加载的所有页面上包含一个 javascript 文件。

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

据我所知,要为 Chrome 创建这种类型的扩展程序,您只需将这段代码放入 “ list ”文件

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

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

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

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

最佳答案

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 可以很容易地将此​​代码转换为实际的扩展。不过,我没有使用附加 SDK 的经验,因此无法为您提供任何额外的帮助。

关于javascript - 开发一个非常简单的浏览器扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097285/

相关文章:

JavaScript 获取外部脚本列表(如扩展)

javascript - 欺骗或禁用页面可见性 API

javascript - 如何只加载一次页面

java - 不带容器的 JAX-RS

javascript - 让 Jest 与 Babel 7.0.0 配合使用时出现问题

javascript - 如何向 Chrome 扩展程序发送数据?

javascript - 如何使用 chrome 扩展程序在网页中注入(inject)模板组件?

javascript - Chrome 扩展 : identify web requests of background-page iframe?

javascript - 从另一个网站JS填写表格

Javascript - 添加后删除行