我想为我的 Chrome 打包应用构建界面,具体取决于打包中捆绑的一组文件。
我想检查子文件夹,并找到UI文件(子文件夹,png,wav,mp3,字体文件),然后基于它们创建UI元素。
文件 API 在一侧有一个单独的根,因此没有帮助。
我已经看到了如何获取我的应用程序目录的 chrome-extension:URL,但我无法弄清楚如何检查其内容。
即使是只读访问也足够了。
有什么想法吗?谢谢!
没有用于检查应用内容的 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"
];
}
文件索引.html:
<html>
...
<script src="ui_content_list.js"></script>
<script src="index.js"></script>
...
文件索引.js:
getUIContentList().forEach(function(filename) {
if (filename) { // get all itens except the last "false" value
var internalUrl = chrome.runtime.getURL(filename);
doSomething(internalUrl);
}
});