javascript - Base64 图片在新标签页中打开 : Window is not allowed to navigate Top-frame navigations to data URLs

标签 javascript html google-chrome

在新的 chrome 版本中我得到了这个错误:

不允许窗口将顶级框架导航导航到数据 URL

图像看起来像这样(在 url 中包含数据): data:image/png;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAA...

我真的需要在新标签页中打开它。 iFrame 解决方案不相关

最佳答案

JavaScript 解决方案:

var newTab = window.open();
newTab.document.body.innerHTML = '<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" width="100px" height="100px">';

有很多方法可以改变 window.open() 的行为方式,查看 documentation .创建一些模仿 Chrome 在新选项卡中显示图像的方式的 css/html 也不难。出于安全原因,加载 data: URL 的功能已被删除,因此如果您正在寻找一种方法来执行此操作,那么您就不走运了。

关于javascript - Base64 图片在新标签页中打开 : Window is not allowed to navigate Top-frame navigations to data URLs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46666559/

相关文章:

html - 在 HTML 页面上使用 CSS Sprite

javascript - 居中的弹出窗口突然在 Chrome 中不起作用

Css 缩放动画在 Chrome 中不起作用

javascript - 如何使用 jQuery 第一次点击后停止函数传播

javascript - 如何通过创建 react 应用启用 JIT(即时模式)?

html - CSS: 可以 object-fit:cover,有一个起始位置

javascript - Chrome 扩展程序编程 - 取消表单提交

javascript - 无法弄清楚这个 switch 语句有什么问题

javascript - 需要将对象数组中的对象分组为一组

html - 2 种不同的链接样式在 IE 中显示正常,但在其他浏览器中显示不正确。单击链接时,所有链接都显示已访问