Chrome扩展程序:仅在请求时加载Background_JS

时间:2014-02-20 22:06:13

标签: javascript google-chrome-extension

我有一个chrome-extension,我动态加载JS-Files(取决于localstorage-settings)

$.getScript(chrome.extension.getURL("./setup/js/inner.js"), function() {
   DoInnerMagic();
});

但这只有在我将manifest.js添加到manifest.json中的内容脚本时才有效:

"content_scripts":
   [{
      "matches": ["https://mypage.com/*"],
      "js": [ "setup/js/inner.js" ]
   }]

但这会导致.js文件在我通过代码加载之前加载(我可以在开发控制台中看到这个来自chrome)

只有在需要时我才能真正加载文件?

我需要在内容脚本中执行此操作,因此chrome.tabs-functions不起作用

1 个答案:

答案 0 :(得分:0)

您的代码段并不清楚您是如何使用localStorage,也不是在阅读时,但如果我理解正确,event pages很可能是您正在寻找的内容。引用链接页面:

  

事件页面与背景页面非常相似,其中一个很重要   差异:事件页面仅在需要时加载。当。。。的时候   事件页面没有主动做某事,它被卸载,释放   内存和其他系统资源。

我在前几天使用它只在事件监听器触发时加载我的.js,并且效果很好。当然,我调用的脚本被定义为后台脚本,例如:

"background": {
    "scripts": ["myScript.js"],
    "persistent": false
}