gpt4 book ai didi

javascript - Chrome 打包应用程序可以检查其自己的包内容

转载 作者:行者123 更新时间:2023-11-28 09:29:26 25 4
gpt4 key购买 nike

我想根据包中捆绑的文件集为我的 Chrome 打包应用构建 UI。

我想检查子文件夹,并查找 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"
];
}

文件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);
}
});

关于javascript - Chrome 打包应用程序可以检查其自己的包内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13901178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com