前端如何打开后端返回的html代码
使用中转页面
当前页面
localStorage.removeItem('callbackHTML')
localStorage.setItem('callbackHTML', htmlCode)
window.open('/callback.html', '_blank')
callback.html
document.write(localStorage.getItem('callbackHTML'))
缺点
如果遇到复杂的带css,js文件,外部样式的完整的html就不行了
直接在新标签页重写document
var newWin = window.open('', '_blank');
newWin.document.write(htmlCode)
缺点
可以回退,但是同样只能处理简单的html文本,遇到复杂js,css照样不渲染
将文本保存到流中,然后放到a标签中,调用js点击
var data = new Blob([content],{type:"text/html"});
var downloadUrl = window.URL.createObjectURL(data);
var anchor = document.createElement("a");
anchor.href = downloadUrl;
anchor.click()
缺点
实测在html为表单页面时,可能会出现请求参数中有特殊字符【&或=】等错误