Background scripts can access resources using XHR
. To get the URL of the included resource, use chrome.extension.getURL()
, which returns a fully-qualified URL for the resource.
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) {
//
});
});
Another approach is to convert the data.json
file into a data.js
file and include it as a background script in manifest.json
. This will let you access any variables set by data.js
.
manifest.json:
"background": {
"scripts": ["data.js", "background.js"]
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…