window.open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 最近在项目中遇到,用window.open() 打开新的浏览器标签窗口将后端返回的html字符串显示为页面,谷歌浏览器图标不显示
如图所示,以下两种写法浏览器图标不显示
改成以下方式图标可以显示
刚开始在本地测试html字符串传不过去新的window对象,把文件放到服务器就行了
ie浏览器则三种写法都可以,但是第三种有些不一样。直接拿,拿不到传过来的htmlStr
代码
<!DOCTYPE html>
<html>
<head>
<link rel="icon" href="/favicon.ico">
<title>button页面</title>
<meta charset="utf-8">
</head>
<script>
function openPage() {
var htmlStr = <!DOCTYPE html> <html> <head> <link rel="icon" href="/favicon.ico"> <title>title</title> <meta charset="utf-8"> </head> <body><div >1234445465768</div></body> </html>
var win = window.open('/report.html', '_blank')
win.htmlStr = htmlStr
}
</script>
<body>
<button onclick="openPage()" >打开页面</button>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
var doc = document.open('text/html', 'replace')
doc.write(window.htmlStr)
doc.close()
</script>
</head>
<body>
</body>
</html>