我有一个网页,其中单击了一个元素,并使用 JQuery 发布功能从服务器获取了图像,并且应该显示在调整为图像大小的新窗口中。相关的 Javascript 函数如下(其中 myImage 是返回的 base 64 格式的图像)。
function showPicture(label) {
var newWindow = window.open("", label,"scrollbars=0, toolbar=0");
$.post( 'picture-view', { labelname: label },
function(myImage) {
newWindow.document.write("<img src='data:image/png;base64," + myImage + "'/>");
newWindow.resizeTo(newWindow.document.getElementsByTagName("img")[0].width, newWindow.document.getElementsByTagName("img")[0].height+newWindow.outerHeight-newWindow.innerHeight);
newWindow.focus();
}
);
}
有三件事给我带来了问题。
图像被插入到带有白色边框的新窗口中,我无法弄清楚如何删除。
在调整窗口大小时,该术语
newWindow.outerHeight-newWindow.innerHeight
应该考虑工具栏等,但两者都输出为零。最后一个真的让我很烦。如果我将该行
var newWindow = window.open("", label,"scrollbars=0, toolbar=0");
放在从第四行开始的回调函数中,则新窗口创建得太小,并且不会被 resizeTo 函数调整大小。
任何进一步阅读的建议或指导都会非常有帮助。