Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 如何读取应用程序/扩展名';什么是crx?_Google Chrome_Google Chrome Extension_Google Chrome App - Fatal编程技术网

Google chrome 如何读取应用程序/扩展名';什么是crx?

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

我希望在我的crx中包含一些文件,然后能够将它们作为数据(读入字符串或Blob)读入。我该怎么做?有没有办法使用文件系统API来实现这一点?

于2013年6月13日实施,预计将在Chrome 29中实现:

:添加只读文件系统API以访问打包的应用程序/扩展资源

更改:

于2013年6月13日实施,预计在Chrome 29中:

:添加只读文件系统API以访问打包的应用程序/扩展资源


更改:

通过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哦,我还没有在应用程序中尝试过。这段代码来自我写的一个扩展,工作起来很有魅力。