我想在我的 crx 中包含一些文件,然后能够将它们作为数据读入(读入字符串或 Blob)。我该怎么做?有没有办法为此使用 FileSystem API?
问问题
1020 次
2 回答
5
chrome.runtime.getPackageDirectoryEntry于 2013 年 6 月 13 日实施,预计在 Chrome 29 中:
问题 177208:添加只读 FileSystem API 以访问打包的应用程序/扩展资源
于 2013-06-18T23:36:36.853 回答
1
通过 XHR 从 crx 读取文件内容比 FileSystem API 简单得多:
var url = chrome.extension.getURL('the_file.txt'); // full url
var req = new XMLHttpRequest(); // read via XHR
req.open('GET', url);
req.onreadystatechange = function(e) {
if (req.readyState === 4 && req.status === 200) {
console.log(data);
} else {
// error
}
}
如果要在注入的上下文中发出请求,则必须manifest.json
首先声明可访问资源,在可访问资源条目中列出文件名(支持通配符)。
"web_accessible_resources": [
"path_to_the_file.html",
"just_another_folder/*.txt"
]
于 2015-04-19T09:59:19.067 回答