如何使用chrome.runtime.getURL()加载Javascript Library google chrome extention?

时间:2017-10-28 16:16:37

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

我正在尝试在我的扩展程序中加载此客户端JavaScript库。我收到一个CORS问题,所以我正在推荐googles并从磁盘加载它。

https://developer.chrome.com/extensions/xhr

我试图使用以下代码

var xhr = new XMLHttpRequest();
xhr.open("GET", chrome.runtime.getURL('../lib/lit.js'), true);
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    // JSON.parse does not evaluate the attacker's scripts.
    var resp = JSON.parse(xhr.responseText);
    console.log(resp);
  }
}
xhr.send();

这不起作用,并返回错误

contains.js:12 GET chrome-extension://invalid/ net::ERR_FAILED

但是,我可以在浏览器中访问该库。

chrome-extension://npijdekijlclehcfenbajdainfncbfpi/../libs/library.js

关于我无法加载文件的任何想法? (我计划在使用eval后使用该库)

我启用的权限只是"存储"。我不确定我是否需要别的东西。

1 个答案:

答案 0 :(得分:0)

您必须将文件'../lib/lit.js'放入manifest.json中的数组web_accessible_resources

这样,您就可以使用chrome.extension.getURL来获取文件了。

了解更多here