Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像数组从一个窗口传递到另一个窗口,并在新窗口中以javascript显示图像_Javascript_Html_Arrays_Image_Window - Fatal编程技术网

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

将图像数组从一个窗口传递到另一个窗口,并在新窗口中以javascript显示图像,javascript,html,arrays,image,window,Javascript,Html,Arrays,Image,Window,我陷入了一个特殊的问题。 我必须通过点击一个按钮将一个图像数组从一个HTML窗口传递到另一个HTML窗口。我要传递的数组的名称是compareImageArray,我已在mainPage.html中将其声明为全局变量。 我在一个新窗口中传递此数组,如下所示: window.open('/comparePopup',compareImageArray,'_blank','popUpWindow', 'status=0,width=620,height=430,resizable=yes, scr

我陷入了一个特殊的问题。 我必须通过点击一个按钮将一个图像数组从一个HTML窗口传递到另一个HTML窗口。我要传递的数组的名称是
compareImageArray
,我已在
mainPage.html
中将其声明为全局变量。 我在一个新窗口中传递此数组,如下所示:

 window.open('/comparePopup',compareImageArray,'_blank','popUpWindow', 'status=0,width=620,height=430,resizable=yes, scrollbars=yes, toolbar=yes')
<div id="comparePicDiv" style="display:block;">
    <img id="pic1">
    <img id="pic2">
    <img id="pic3"> 
comparePopup.html
(这是我将数组发送到的新窗口)中,我尝试获取html元素pic1、pic2、pic3中的图像数组元素,如下所示:

 window.open('/comparePopup',compareImageArray,'_blank','popUpWindow', 'status=0,width=620,height=430,resizable=yes, scrollbars=yes, toolbar=yes')
<div id="comparePicDiv" style="display:block;">
    <img id="pic1">
    <img id="pic2">
    <img id="pic3"> 


我可以在alert
alert(compareImageArray[0])
中查看图像url,这意味着url已到达此页面。但是,
img
标记没有填充这些图像。这可能是什么原因?请帮忙。提前感谢。

在朋友的帮助下解决了这个问题。正如我所怀疑的,这不是因为我通过阵列的方式。
compareImageArray
被声明为全局,并在
comparePopup.html
中被完美检索,警报确认了这一点

问题是,由于图像是在body onload上加载的,而不是在任何按钮单击上加载的,所以我必须在Javascript之前声明图像元素(我没有这样做)。因此,它无法识别什么是
pic1
pic2
pic3

现在它工作得很好

您不能使用window.open()发送数组。规范如下:但是您可以通过链接将数组信息作为查询字符串发送,例如comparePopup.html?pic1_pic2_pic3。。。。(您需要设置一种发送数组信息的方法)在comparePopup.html中,您需要Javascript读取查询字符串信息并将信息拼回数组中。但是,我如何在comparePopup.html(即警报消息)中获取整个图像数据呢。该警报为我提供了图像的整个数据URL。我认为问题在于我获取图像或在图像标签中捕捉图像的方式。你不这么认为吗?我在这里忽略了一些非常琐碎的事情吗?