Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何下载html文件和js中的所有源文件?_Javascript_Html_Jquery_Html5 Audio - Fatal编程技术网

Javascript 如何下载html文件和js中的所有源文件?

Javascript 如何下载html文件和js中的所有源文件?,javascript,html,jquery,html5-audio,Javascript,Html,Jquery,Html5 Audio,目前,我正在使用这段代码在单击时下载当前页面: function Download() { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(document.documentElement.outerHTML)); element.setAttribute('download', &

目前,我正在使用这段代码在单击时下载当前页面:

function Download() {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(document.documentElement.outerHTML));
  element.setAttribute('download', "file.html");
  element.style.display = 'none';
  document.body.appendChild(element);
  element.click();
  document.body.removeChild(element);
}
问题是有些音频文件是通过标签从其他服务器播放的。我还想下载这些文件,这样如果服务器上的某些内容被删除,保存的页面仍然可以播放声音

我的想法是用本地路径替换标签的src部分,并单独下载音频文件,但我想知道是否有更好的解决方案,它会是什么?
谢谢

通过将内容转换为,您可以直接创建包含任何外部资产的单个页面。这使得自包含的HTML文件更易于处理

比如说


通过将内容转换为,可以直接创建包含任何外部资产的单个页面。这使得自包含的HTML文件更易于处理

比如说

扩展@6502的答案

将文件转换为base64字符串,并用生成的字符串替换binarystring

明智地使用此方法,因为它会使页面加载变慢!更大的 文件加载速度减慢

扩展@6502的答案

将文件转换为base64字符串,并用生成的字符串替换binarystring

明智地使用此方法,因为它会使页面加载变慢!更大的 文件加载速度减慢


如果您不信任从中获取音频文件的服务器,则下载并提供本地路径更好!我担心这是唯一的办法。好的,谢谢!如果您不信任从中获取音频文件的服务器,则下载并提供本地路径更好!我担心这是唯一的办法。好的,谢谢!谢谢你们两位,我来测试一下!谢谢你们两位,我来测试一下!
<audio src="data:audio/ogg;base64,binarystring"/>