你替换函数替换,直到
/textarea>那就是在你的
clone变量。它不会从第一个文件开始执行此操作,因为html的textarea之后有换行符。解决它的一种方法是
newline在生成的html中添加一个字符。像这样:
var clone = ["<!doctype html><head></head><body><textarea>" + input.value // add newline here + "</textarea>n" + "<button>save file</button>" + "<script type='text/javascript'>" + "var saveFile = document.getElementsByTagName('button')[0];" + "var input = document.getElementsByTagName('textarea')[0];" + "var a = document.createElement('a');" + "saveFile.onclick = function(e) {" + "var clone = '<!doctype html>'+ document.documentElement.outerHTML.replace(/<textarea>.*<.+textarea>/, '<textarea>'+document.getElementsByTagName('textarea')[0].value+'</textarea>');" + "console.log(clone);" + "var file = new Blob([clone], {'type':'text/html'});" + "a.href = URL.createObjectURL(file);" + "a.download = 'file-' + new Date().getTime() + '.html';" + "a.click();" + "};" + "</scr"+"ipt>" + "</body>" + "</html>"];


