程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)??

开发过程中遇到使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?的解决方法建议,希望对你解决使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?有所启发或帮助;

我想在 HTML 页面上显示自主“站点”(比如“root”)。 这些“站点”包含一个登陆页面:index.HTML 和一组 *.CSS、.Js、.png)
通过自主,我的意思是这些站点没有外部依赖项,并且所有路径都是相对的 = 您可以将它们复制到任何目录中或将它们托管在任何地方,它们都可以工作。
这些站点被压缩在一个包含所有必要文件的档案中。 假设我下载没有问题并且所有文件都在内存中(作为路径/uint8 数组)

我怎样才能以安全的方式显示网站? 我可以解析 index.HTML,更改原始文件的 data-url 的所有 src 和 href 并将其加载到 iframe 中。 它工作得很好,但在有这样的脚本的地方会中断

if (extension == "pdf")
 img.src = "images/thumb-pdf.png"

有没有办法控制 iframe 提供的 url? 某种代理? 我可以拦截 "images/thumb-pdf.png" 来提供 MemoryCacheOfallfiles["images/thumb-pdf.png"].toDataURL() 吗?

PS:当然,我无法控制这些网站,也无法将它们存储在服务器上(这很容易)

解决方法

javascript 中的代理是可能的,必须使用 worker 并侦听“获取”事件以推送虚拟内容。

在 iframe 中推送的 html:

...
navigator.serviceWorker.register('worker.js').then(function() {
    logInstall('Installing...');
  })
...

worker.js:

...
self.onfetch = function(event) {
  var cached = (mycache[event.request.url]); // do we have content
  if (cached)
    event.respondWith(new Response(cached.content,{
      headers:{"Content-Type",cached.mimetypE}
    }
  else
    event.respondWith(fetch(event.request));
}
...
@H_152_2@mozilla 用于解压和提供内容的完整代码
https://serviceworke.rs/cache-from-zip.html

大佬总结

以上是大佬教程为你收集整理的使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?全部内容,希望文章能够帮你解决使用 javascript 客户端,如何显示“虚拟文件夹”(= 具有相对路径的 html、img、js 的连贯集合)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。