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

2023-12-20

我写了一个 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 文件注入到匹配页面的解决方案(使用manifest.json)但找不到仅用于扩展的包含 JS 文件的方法。


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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐