0

crx にいくつかのファイルを含めて、それらをデータとして (文字列または Blob に) 読み込めるようにしたいと考えています。どうすればいいですか?これに FileSystem API を使用する方法はありますか?

4

2 に答える 2

5

chrome.runtime.getPackageDirectoryEntryは 2013 年 6 月 13 日に実装され、Chrome 29 で期待されています。

問題 177208 : パッケージ化されたアプリ/拡張リソースにアクセスするための読み取り専用 FileSystem API を追加する

変更: https://chromiumcodereview.appspot.com/16470003

于 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 に答える