javascript - 在新窗口中打开图像出现javascript的空白页面
问题描述
从这个答案中获取参考后
我做了同样的代码。
function openImage() {
var largeImage = document.getElementById('viewImage');
largeImage.style.display = 'block';
largeImage.style.width = 200 + "px";
largeImage.style.height = 200 + "px";
var url = largeImage.getAttribute('src');
window.open(url, 'Image', 'width=largeImage.stylewidth,height=largeImage.style.height,resizable=1');
}
但是当这个函数执行时,当我在控制台中查看图像 src 时显示空白页面,它显示了正确的数据。
你认为我的代码有什么问题?
解决方案
该解决方案适用于实际 url 作为 src 的图像,在您的情况下,图像 src 是 base64 编码的字符串而不是 url。
Window.open 的 Base64 支持在所有浏览器中都不相同,它适用于 firefox,但不适用于 chrome 和 IE。
所以,你可以试试这个
function openImage() {
var largeImage = document.getElementById('viewImage');
largeImage.style.display = 'block';
largeImage.style.width = 200 + "px";
largeImage.style.height = 200 + "px";
var w = window.open("");
w.document.write(largeImage.outerHTML);
}
推荐阅读
- javascript - 为什么 Object.assign(...) 在 IE 11 中工作?
- javascript - JavaScript 延迟 Chrome Addlistener
- java - 带有尾随逗号的有效 Excel 自定义数字被 DecimalFormat 视为格式错误
- asp.net-mvc - 使用什么表达式我可以从集合中获取单个项目的 ModelMetadata 信息?
- android - 图像视图完全折叠时如何隐藏文本视图
- postgresql - 从终端将表及其行上传到 postgress Schema
- vba - 是否有一种方法可以根据列表框列之一的条件在列表框中查找值?
- javascript - 由于另一个服务注入,服务找不到依赖项
- javascript - 通过流将数据块写入 S3 文件,而不是创建临时文件 Node.js
- python - 如何合并或连接两个数据框,但保留两者的某些列