我有两个HTML页面。在第一页上,我将值添加到数组中。
thisArray.push("new value");
在第二个HTML页面上,我想将此数组打印到textArea
for(i=0; i<thisArray.length;i++){
var thisName = thisArray[i];
document.getElementById('listOfNames').innerHTML += thisName + '\n';
}
但是当我改变页面时,浏览器显然不会知道另一个变量。最好的方法是什么?
我想过在本地保存这个值吗?这是最好的方法吗?
答案 0 :(得分:1)
使用window.localStorage
。
https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage
示例:
window.localStorage.myArray = JSON.stringify(arrayData)
然后在读取另一页上的数据时解析JSON。
答案 1 :(得分:1)
您可以使用localStorage来保留值,
localStorage.setItem('itemName', itemValue);
然后获取项目只需使用
localStorage.getItem('itemName');
答案 2 :(得分:1)
您可以使用localStorage.setItem(key,value)
答案 3 :(得分:1)
查看此库,您可以轻松设置和阅读javascript Cookie。
https://github.com/js-cookie/js-cookie
示例:
在首页设置Cookie:
Cookies.set('thisArray', JSON.stringify(thisArray));
在第二页上阅读Cookie:
var thisArray = Cookies.getJSON('thisArray');
答案 4 :(得分:1)
您至少有两个选项可以执行您想要的操作,一个是在url查询上传递该变量,如:
localstorage
另一种选择是使用localStorage.setItem('itemName', varToBeSaved);
var mySavedVar = localStorage.getItem('itemName');
然后,将变量放回任何页面
{{1}}