前端如何打开后端返回的html代码

4,197 阅读1分钟

前端如何打开后端返回的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为表单页面时,可能会出现请求参数中有特殊字符【&或=】等错误

参考:blog.csdn.net/VICHOU_FA/a…