我有一个网页,其中点击了一个元素,并且使用JQuery post函数从服务器获取图像,并且应该显示在调整为图像大小的新窗口中。相关的Javascript函数如下(其中myImage是以64格式返回的图像)。使用Javascript在新窗口中弹出图像
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函数调整大小。
任何意见或指示,以进一步阅读将是非常有益的。
对于边框,您可以将'style =“border:0;”'或'border =“0”'添加到img标签。 – RTB 2012-07-16 14:56:58
您是否考虑过页内[lightbox](https://www.google.com/#q=lightbox)解决方案? – MikeM 2012-07-16 15:05:34
@RTB:我认为边界被弃用? – elo96 2012-07-16 15:26:17