javascript - Chrome 扩展中的多个 JS 文件 - 如何加载它们?

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

我编写了一个 Chrome 扩展程序。我的background.js 文件非常大,所以我想将其分割成更小的部分,并在需要时加载指定的方法(某种延迟加载)。

我已经使用 Firefox 完成了此操作:

// ( call for load specified lib )
var libPath = redExt.basePath + 'content/redExt/lib/' + redExt.browser + '/' + libName + '.js';
var service = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);
service.loadSubScript("chrome://" + libPath);
// ( executing loaded file )

是否有可能在基于 Webkit 的浏览器中以类似的方式执行此操作?我已经找到了如何将多个 JS 文件注入(inject)到匹配页面的解决方案(使用 manifest.json),但找不到仅用于扩展的包含 JS 文件的方法。

最佳答案

更新:此解决方案仅在您使用 list V2 时才有效。

您还可以通过此处描述的极其简单的方法来执行此操作: https://developer.chrome.com/extensions/background_pages#manifest

{
  "name": "My extension",
  ...
  "background": {
    "scripts": [
      "lib/fileone.js",
      "lib/filetwo.js",
      "background.js"
    ]
  },
  ...
}

您不会执行延迟加载,但它确实允许您将代码分解为多个文件并指定它们加载到后台页面的顺序。

关于javascript - Chrome 扩展中的多个 JS 文件 - 如何加载它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18651620/

相关文章:

javascript - jQuery - 如何阻止 div 在可排序交互中完全移动

javascript - 我无法显示对象 Promise (react) 的内容

javascript - 在属性调用()中访问对象?

javascript - 当函数改变输入时如何检查输入?

javascript - 检查是否安装了 chrome 扩展

javascript - Chrome 扩展程序动态创建 HTML

css - Chrome Android 调整一些元素的大小

javascript - Http 站点未检测到 Chrome 中的位置 - 问题

javascript - 如何关闭浏览器的父窗口同时关闭子弹出窗口?

google-chrome-extension - 如何使 chrome 扩展对任何主机都有效