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

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

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

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

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

阅读 4.3k
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>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏