在一个窗口中打开多个图像,并打开多个此类窗口

Opening multiple images in one window, and opening multiple such type of windows

本文关键字:窗口 图像 一个      更新时间:2023-09-26

我是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')
}

遇到的问题是这只打开了第二张图像而不是两个图像,我必须关闭上一个窗口才能打开一个新窗口。

请告诉我我犯了什么错误,或者我需要在代码中进行哪些修改才能解决这两个问题。

您使用popUpWindow作为两者的引用。

这意味着对window.open的第二次调用不会打开一个新窗口,而是将使用已经存在的窗口。

给他们不同的围栏,例如...

function newPopup(url1,url2) {
  popupWindow1 = window.open(url1,'popUpWindow1',...);
  popupWindow2 = window.open(url2,'popUpWindow2',...);
}

此外,由于OP的评论,如果您总是想要一个新窗口,请使用_blank作为参考...

window.open(url1,'_blank',...);

您可以在一个窗口中打开两个网址,就像

 function newPopup(url1,url2){  
                    var contents = '<img src="' + url1+ '"></img>' + '<img src="' + url2+ '"></img>' ;
                    var previewWindow = window.open('','Preview','','');
                    previewWindow.document.body.innerHTML = contents;
                }