我有一个Web应用程序,我试图在ImageArray
中存储不同的图像(在不同的页面中存在),这是一个javascript数组。我查了一下网,发现HTML5中的LocalStorage API
是一种有效的方法,因为即使在页面重新加载后变量也会被保留。
我的问题是我有一个ImageArray
,我使用saveImage()
功能存储我的图片。
var ImageArray = new Array(); //declared as global variables
var i=0; //declared as global variables
function saveImages(Image)
{
if(ImageArray.length < 4)
{
ImageArray[i] = new Image();
ImageArray[i].src = Image;
//alert('ImageArray:::'+ ImageArray);
// ImageArray.push(Image);
i=i+1;
alert('Added For Comparison : ');
alert('no_of_pics_added' + ImageArray.length);
window.localStorage.setItem('ImageArray', JSON.stringify(ImageArray));
//alert('ImageArray' + JSON.stringify(ImageArray))
}
else
{
alert('You have already added 4 pics for comparison' + ImageArray.length);
}
}
这是displayImages()
函数,它应该检索已保存的图像。
function displayImages()
{
if(window.localStorage.getItem('ImageArray') == null){
alert('12124235246');
var ImageArray =[];
}
else
{ alert('98987987');
ImageArray = JSON.parse(window.localStorage.getItem('ImageArray'));
}
ImageArray = new Array(); // initialising once the Images are displayed
i=0;
}
程序进入了else循环但没有任何反应。我从中发现window.localStorage.getItem
和window.localStorage.setItem函数是这里的问题。我尝试过同时使用window.localStorage.getItem
和localStorage.getItem
。我使用的浏览器支持HTML5
(chrome 37)。
我一直在推荐这些链接
How to get JS variable to retain value after page refresh?
How to retain javascript array while page refresh?
有人请告诉我我做错了什么。在此先感谢。)