我是html和javascript的新手。我正在开发一个基于Web的UI,我在网页上显示了大量数据。我在桌子上展示它。现在每行我有2个图像要显示。我想在每行中创建一个链接,打开一个新窗口并显示两个图像。而且当我点击其他行中的其他链接时,它们也应该打开,前一个窗口已经打开。
这是我正在做的事情:
for ($i=0;$i<$total_images;$i++){
<tr><td><a href=\"JavaScript:newPopup('/var/www/html/images/imga$i.png','/var/www/html/images/imgb$i.png');\">Open Images with Link $i</a><td></tr>
}
这是 javascript
function newPopup(url1,url2) {
popupWindow = window.open(url1,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
popupWindow = window.open(url2,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
我遇到的问题是,这只是打开第二张图片而不是两张图片,我必须关闭上一张窗口才能打开一张新图像。
请告诉我我在做什么错误或在代码中需要做哪些修改来解决这两个问题。
答案 0 :(得分:1)
您正在使用popUpWindow
作为两者的参考。
这意味着对window.open
的第二次调用不会打开新窗口,但会使用现有窗口。
给他们不同的补充,例如......
function newPopup(url1,url2) {
popupWindow1 = window.open(url1,'popUpWindow1',...);
popupWindow2 = window.open(url2,'popUpWindow2',...);
}
此外,由于OP的评论,如果您总是想要一个新窗口,那么请使用_blank
作为参考......
window.open(url1,'_blank',...);
答案 1 :(得分:0)
您可以在一个窗口中打开两个网址:
function newPopup(url1,url2){
var contents = '<img src="' + url1+ '"></img>' + '<img src="' + url2+ '"></img>' ;
var previewWindow = window.open('','Preview','','');
previewWindow.document.body.innerHTML = contents;
}