将图像数组从一个窗口传递到另一个窗口,并在新窗口中以javascript显示图像
我陷入了一个特殊的问题。 我必须通过点击一个按钮将一个图像数组从一个HTML窗口传递到另一个HTML窗口。我要传递的数组的名称是将图像数组从一个窗口传递到另一个窗口,并在新窗口中以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
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">
我可以在alertalert(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。我认为问题在于我获取图像或在图像标签中捕捉图像的方式。你不这么认为吗?我在这里忽略了一些非常琐碎的事情吗?