js生成的html模版如何提供下载?

jrainlau
  • 12.3k

在一个静态页面中,我用js生成了一个完整的html模板,类似这样:

let htmlTemplate = `<html><body>Hello World</body></html>`

然后页面上有一个<a>标签,点击它就可以把htmlTemplate作为html文件下载下来。
请问可以实现这个需求吗?

参考自cnode社区超简易markdown在线编辑器
地址: http://qianjiahao.github.io/markdown-edi...

评论
阅读 2.9k
1 个回答
✓ 已被采纳

可以利用 data-URL 功能来实现,提供一段参考代码:

<!DOCTYPE html>
<html>
  <body>
    <a download="index.html">下载</a>
  </body>
  <script type="text/javascript">
    let htmlTemplate = `<html><body>Hello World</body></html>`;
    let encoded = btoa(htmlTemplate);
    let dataUrl = 'data:text/html;base64,' + encoded;
    let downloadLink = document.querySelector('a');
    downloadLink.href = dataUrl;
  </script>
</html>
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏