Jam*_*mie 5 html javascript iframe zip
我有一个zip文件位于http://my-website.com/user-site.zip。该zip文件包含一堆html,css和javascript文件,这些文件在提取后看起来像这样(确切内容未知):
index.html
js/
script.js
css/
style.css
Run Code Online (Sandbox Code Playgroud)
我希望能够在浏览器中下载此网页后,例如在iframe中查看该网页。
现在,我的方法如下所示:
除一个问题外,这几乎可行。由生成的url createObjectUrl几乎是随机的,因此index.html无法解析对其他资源的引用。我该如何解决?
非常好的问题!我现在正坐在这里思考这个问题!您可以做的一件事是创建一个 JavaScript 对象/数组来“映射”文件及其路径,以及它们创建的对象 URL。然后使用 JavaScript 将相对路径替换为绝对对象 URL。除非...你无法获取文件的路径。
如果是这种情况,您可能感兴趣的 JavaScript 库是JSZip,它可以为您提供 ZIP 中文件的路径。

对于您的地图,您可以执行以下操作(在从 JSZip 路径(如根目录)中删除必要的部分之后):
var map = [
{"relativePath":"css.css","absolutePath":*Object URL Goes Here*}
];
Run Code Online (Sandbox Code Playgroud)
然后循环遍历映射中的每个条目,并用给定文件中的absolutePath[x] 替换relativePath[x] 的每个实例,无论是文件的原始文本还是iframe 的innerHTML。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |