gpt4 book ai didi

javascript - 如何从 background.js 访问内部资源

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:46 24 4
gpt4 key购买 nike

在 Google Chrome 应用程序中,是否可以从 background.js 脚本中访问捆绑的数据文件?

例如如果我有一个包含在应用程序中的名为 data.json 的文件,我可以在 background.js 脚本中使用 JavaScript API 来获取文件内容?

使用示例包目录结构:

/app/manfifest.json
/app/backround.js
/app/data.json

我想做这样的事情:

chrome.app.runtime.onLaunched.addListener(function() {
data = unknown.api.loadFileSync("data.json");
// do stuff with data
// ...
});

最佳答案

后台脚本可以使用XHR 访问资源。要获取包含资源的 URL,请使用 chrome.extension.getURL(),它会返回资源的完全限定 URL。

function loadData (file, fn) {
var dataUrl = chrome.extension.getURL(file),
xhr = new XMLHttpRequest();

xhr.responseType = 'json';
xhr.onload = function () {
fn(null, this.response);
};
xhr.onerror = function () { fn(this.status); };
xhr.send();
}


chrome.app.runtime.onLaunched.addListener(function() {
loadData('data.json', function (err, data) {
//
});
});

另一种方法是将 data.json 文件转换为 data.js 文件,并将其作为后台脚本包含在 manifest.json。这将允许您访问由 data.js 设置的任何变量。

list .json:

"background": {
"scripts": ["data.js", "background.js"]
}

关于javascript - 如何从 background.js 访问内部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26838004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com