【发布时间】:2015-03-26 03:48:20
【问题描述】:
我陷入了一个特殊的问题。
我必须通过单击按钮将图像数组从一个 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 中的 Image 数组元素,如下所示:
<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]) 中查看图像 url,这意味着该 URL 已到达此页面。但是,img 标签并没有填充这些图像。这可能是什么原因?请帮忙。提前致谢。
【问题讨论】:
-
您不使用 window.open() 发送数组。这是规范:w3schools.com/jsref/met_win_open.asp 但是您可以通过链接将数组信息作为查询字符串发送,例如 comparePopup.html?pic1_pic2_pic3.... (您需要一种发送数组信息的方法)在您的 comparePopup.html 中,您需要 Javascript 来读取查询字符串信息并将信息分段到数组中。
-
但是我如何在 comparePopup.html 中获取整个图像数据(即警报消息。)。警报为我提供了图像的整个数据 URL。我认为问题在于我获取图像或在图像标签中捕获它的方式。你不这么认为吗?我在这里忽略了一些非常琐碎的事情吗?
标签: javascript html arrays image window