chrome浏览器报错Not allowed to navigate top frame to data URL怎么解决?
由于业务需要,a标签里面的href必须加base64图片编码,这样的结果是点击出现报错,但是右键在新标签页打开又可以打开。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAIUlEQVQ4jWMUXfH6PwOVABO1DBo1bNSwUcNGDRs1DAcAAJNsAs1wYr6uAAAAAElFTkSuQmCC" target="_blank">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAIUlEQVQ4jWMUXfH6PwOVABO1DBo1bNSwUcNGDRs1DAcAAJNsAs1wYr6uAAAAAElFTkSuQmCC" />
</a>
</body>
</html>
还有就是,在express服务器环境下,a标签的href为空会自动跳转到localhost地址.
请问怎么解决这个问题呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你是不是想点击图片在另一个窗口打开?不用href用js获取图片的src在新窗口打开试试
Chrome 禁止从页面打开 Data URI 网址了,是出于安全考虑(钓鱼方面)。
单击这个链接的话,会直接报错,Not allowed to navigate top frame to data URL
Chrome 的人做了统计,说从非 Data URI 页面跳到 Data URI 页面的情况只有不到万分之五的概率,如果你的网站恰巧用到了这种在前端生成页面的方式,可以尝试迁移到后端来生成。
点击下载功能, 则a标签加 download="downImg"
a标签的href用base64编码?
a标签的href代表的是跳转地址,你是图片必须要base64编码吧,你再和需求确认下。
href是指你要跳转的地址,你右击打开只是打开了图片。