window.open 浏览器图标不显示

window.open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 最近在项目中遇到,用window.open() 打开新的浏览器标签窗口将后端返回的html字符串显示为页面,谷歌浏览器图标不显示
如图所示,以下两种写法浏览器图标不显示


1642215312(1).jpg
1642215138(1).jpg
1642213697(1).jpg

改成以下方式图标可以显示


1642214318(1).jpg
1642214380(1).jpg

1642214064(1).jpg

刚开始在本地测试html字符串传不过去新的window对象,把文件放到服务器就行了


1642214803(1).jpg

ie浏览器则三种写法都可以,但是第三种有些不一样。直接拿,拿不到传过来的htmlStr


1642228032(1).jpg
1642228169(1).jpg

1642230456(1).jpg
1642230524(1).jpg

代码
<!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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容