在一个静态页面中,我用js生成了一个完整的html模板,类似这样:
let htmlTemplate = `<html><body>Hello World</body></html>`
然后页面上有一个<a>
标签,点击它就可以把htmlTemplate
作为html
文件下载下来。
请问可以实现这个需求吗?
参考自cnode社区超简易markdown在线编辑器
地址: http://qianjiahao.github.io/markdown-edi...
可以利用 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>