2

パッケージにバンドルされているファイルのセットに応じて、Chrome パッケージ アプリの UI を構築したいと考えています。

サブフォルダーを検査し、UI ファイル (サブフォルダー、png、wav、mp3、フォント ファイル) を見つけて、それらに基づいて UI 要素を作成したいと考えています。

File API には別のルートがあるため、役に立ちません。

アプリ ディレクトリの chrome-extension: URL を取得する方法を見てきましたが、その内容を調べる方法がわかりません。

読み取り専用アクセスでも十分です。

何か案は?ありがとう!

4

1 に答える 1

0

アプリのコンテンツを検査する API はありません。ただし、簡単なスクリプトをパッケージ化プロセスに追加して (自動化されている場合)、これらの UI ファイルのリストを JSON ファイルに書き込み、このファイルをアプリでパッケージ化することができます。

このファイルのコンテンツに適切な JavaScript コマンドのプレフィックスを付ければ、XHR をロードする必要さえなく、script タグを介して追加するだけです。

例えば:

ファイル リストを生成する Bash スクリプト (パッケージ化時):

#!/bin/bash
echo "getUIContentList = function() {"
echo "  return ["
for f in `find . -name '*.png' -or -name '*.mp3'` ; do
  echo "    \"$f\","
done
  echo "    false"  # this is to avoid special logic for trailling comma
echo "  ];"
echo "}"

ui_content_list.js (スクリプトによって自動生成され、アプリに埋め込まれます):

getUIContentList = function() {
  return [
    "css/main.css",
    "img/logo.png",
    "img/logo2.png"
  ];
}

ファイル index.html:

<html>
...
<script src="ui_content_list.js"></script>
<script src="index.js"></script>
...

ファイル index.js:

getUIContentList().forEach(function(filename) {
  if (filename) {  // get all itens except the last "false" value
    var internalUrl = chrome.runtime.getURL(filename);
    doSomething(internalUrl);
  }
});
于 2013-01-08T22:38:10.687 に答える