javascript - 将图像数组从一个窗口传递到另一个窗口并在 javascript 中的新窗口中显示图像

标签 javascript html arrays image window

我陷入了一个特殊的问题。 我必须通过单击按钮将图像数组从一个 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 之前声明图像元素(我没有这样做)。因此,它无法识别 pic1pic2pic3 是什么。 现在一切正常了!

关于javascript - 将图像数组从一个窗口传递到另一个窗口并在 javascript 中的新窗口中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172018/

相关文章:

javascript - ASPX JavaScript通过id获取元素值

javascript - 外部 SVG Sprite 和 .childnodes

javascript - 页面加载时隐藏打印时显示

jquery - 如何让移动浏览器(iOS、Android 中的 webkit)显示它们的软键盘

javascript - js : multidimensional array literal declared: Add elements

javascript - 如何从函数中的回调返回值?

javascript - HTML 按钮仅适用于网页重新/加载

html - 文本框输入高度

javascript - 使用 jQuery 检查电子邮件地址数组

arrays - 从应该包含每个数组元素的数组列表中找到最短的序列长度