2

我想为我的 Chrome 打包应用程序构建 UI,具体取决于包中捆绑的文件集。

我想检查子文件夹,找到 UI 文件(子文件夹、png、wav、mp3、字体文件),然后根据它们创建 UI 元素。

File API 在旁边有一个单独的根,所以没有帮助。

我已经看到如何为我的应用程序目录获取 chrome-extension: URL,但我不知道如何检查其内容。

即使是只读访问也足够了。

有任何想法吗?谢谢!

4

1 回答 1

0

没有 API 可以检查您的应用内容。但是,您可以在打包过程中添加一个简单的脚本(假设它是自动的),以将这些 UI 文件的列表写入 JSON 文件,并将此文件与您的应用程序打包。

如果您使用适当的 JavaScript 命令为该文件的内容添加前缀,您甚至不需要 XHR 来加载它,只需通过脚本标签添加它即可。

例如:

用于生成文件列表的 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 回答