我陷入了一个特殊的问题。
我必须通过单击按钮将图像数组从一个 HTML 窗口传递到另一个窗口。我传递的数组的名称是 compareImageArray
,我已在 mainPage.html
中将其声明为全局变量。
我在新窗口中传递这个数组,如下所示:
window.open('/comparePopup',compareImageArray,'_blank','popUpWindow', 'status=0,width=620,height=430,resizable=yes, scrollbars=yes, toolbar=yes')
在 comparePopup.html
中(这是我向其发送数组的新窗口),我试图获取 HTML 元素 pic1、pic2、pic3 中的图像数组元素,例如这个:
<div id="comparePicDiv" style="display:block;">
<img id="pic1">
<img id="pic2">
<img id="pic3">
我在 javascript 中这样做是这样的:
<script type="text/javascript">
// alert(compareImageArray[0])
compareImageArray = window.opener.compareImageArray;
var pic1= document.getElementById("pic1");
var pic2= document.getElementById("pic2");
var pic3= document.getElementById("pic3");
pic1.src = compareImageArray[0];
pic2.src = compareImageArray[1];
pic3.src = compareImageArray[2];
我能够在警报alert(compareImageArray[0])
中查看图像网址,这意味着该网址已到达此页面。但是,img
标签并未填充这些图像。这可能是什么原因?请帮忙。提前致谢。
最佳答案
在 friend 的帮助下解决了这个问题。正如我所怀疑的,这并不是因为我传递数组的方式。 compareImageArray
被声明为全局,并在 comparePopup.html
中完美检索,如警报所确认。
问题是,由于图像是在正文加载时加载的,而不是在任何按钮单击时加载的,因此我必须在 Javascript 之前声明图像元素(我没有这样做)。因此,它无法识别 pic1
、pic2
或 pic3
是什么。
现在一切正常了!
关于javascript - 将图像数组从一个窗口传递到另一个窗口并在 javascript 中的新窗口中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172018/