利用Blob对象即可
let htmlString=`
<div>
<div>
123
</div>
</div>
`
let urlObject = window.URL || window.webkitURL || window
let export_blob = new Blob([htmlString])
let save_link= document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
save_link.href = urlObject.createObjectURL(export_blob)
let exportFileName = 'test.html'
save_link.download = exportFileName
save_link.click()
输出的结果如下
在chrome中打开
以记事本方式打开
可见并没有自动生成html标签、head标签和body标签等,所以使用Blob输出html文件时需要在字符串中提前生成html、head等标签。