我有这个字符串,我正在尝试存储并获取到 localStorage,并从中检索它以便显示。这是我的代码:
var datas = new Array;
if (navigator.appName !== 'Microsoft Internet Explorer'){
var qsVal = document.getElementsByClassName("val");
}
else{
var qsVal = document.querySelectorAll('.val');
}
if (navigator.appName !== 'Microsoft Internet Explorer'){
var qsKey = document.getElementsByClassName("key");
}
else{
var qsKey = document.querySelectorAll('.key');
}
var storedPlays;
var stuff = document.getElementById("stuff");
function pushArray(){
for (var i=0, len = qsVal.length; i < len; i++){
thisValue = qsVal[i].value;
thisKey = qsKey[i].value;
datas.push([thisValue,thisKey]);
}
localStorage.setItem('datas', JSON.stringify(datas));
}
function showStuff(){
storedPlays = JSON.parse(localStorage.getItem('datas'));
document.getElementById("stuff").innerHTML = storedPlays;
}
它适用于 FF 和 Chrome,但是当我调用 'showStuff' 时 IE8 返回“'localStorage' 为 null 或不是对象”。
有趣的是,当我调用“pushArray”时它不会给我一个错误,它也使用“localStorage”。
我也试过使用“window.localStorage”而不是“localStorage”,它返回了同样的错误......
根据 Microsoft 和 W3 的说法,IE8 应该支持 localStorage,所以有人知道问题出在哪里吗?太感谢了!
编辑-这是代码的 jsfiddle。出于某种原因,它并没有那么好,只是为了让你感觉一下代码......