Google chrome 如何读取应用程序/扩展名';什么是crx?
我希望在我的crx中包含一些文件,然后能够将它们作为数据(读入字符串或Blob)读入。我该怎么做?有没有办法使用文件系统API来实现这一点?于2013年6月13日实施,预计将在Chrome 29中实现: :添加只读文件系统API以访问打包的应用程序/扩展资源 更改:于2013年6月13日实施,预计在Chrome 29中: :添加只读文件系统API以访问打包的应用程序/扩展资源Google chrome 如何读取应用程序/扩展名';什么是crx?,google-chrome,google-chrome-extension,google-chrome-app,Google Chrome,Google Chrome Extension,Google Chrome App,我希望在我的crx中包含一些文件,然后能够将它们作为数据(读入字符串或Blob)读入。我该怎么做?有没有办法使用文件系统API来实现这一点?于2013年6月13日实施,预计将在Chrome 29中实现: :添加只读文件系统API以访问打包的应用程序/扩展资源 更改:于2013年6月13日实施,预计在Chrome 29中: :添加只读文件系统API以访问打包的应用程序/扩展资源 更改:通过XHR从crx读取文件内容比文件系统API简单得多: var url = chrome.extension.g
更改:通过XHR从crx读取文件内容比文件系统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"
]
通过XHR从crx读取文件内容比文件系统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"
]
谢谢所以在Chrome 29之前,没有办法。好吧,除非用户选中该复选框以允许对整个计算机进行文件访问。在此期间,您应该能够对其进行XHR。应用程序无需特殊权限即可读取其扩展目录中的文件。这对你不管用吗?如果不发布一些代码,我们将尝试让它工作:它应该工作。我们只添加了getPackageDirectoryEntry以提高性能(您可以搜索)和方便性(您可以迭代,即您不需要硬编码文件列表)。@BenWells谢谢。我将为XHR使用什么URL?我是否需要将这些文件设置为
web\u accessible
?@BenWells我将使用什么URL来XHR这些文件?这只是相对的吗?或file://WHAT_GOES_HERE/myfile.txt
?谢谢。所以在Chrome 29之前,没有办法。好吧,除非用户选中该复选框以允许对整个计算机进行文件访问。在此期间,您应该能够对其进行XHR。应用程序无需特殊权限即可读取其扩展目录中的文件。这对你不管用吗?如果不发布一些代码,我们将尝试让它工作:它应该工作。我们只添加了getPackageDirectoryEntry以提高性能(您可以搜索)和方便性(您可以迭代,即您不需要硬编码文件列表)。@BenWells谢谢。我将为XHR使用什么URL?我是否需要将这些文件设置为web\u accessible
?@BenWells我将使用什么URL来XHR这些文件?这只是相对的吗?或file://WHAT_GOES_HERE/myfile.txt
?这是否适用于chrome应用程序?这不是一个问题extension@DonRhummy哦,我还没有在应用程序中尝试过。这段代码来自我编写的一个扩展,它的工作方式就像一个符咒。这对chrome应用程序有效吗?这不是一个问题extension@DonRhummy哦,我还没有在应用程序中尝试过。这段代码来自我写的一个扩展,工作起来很有魅力。