この文字列を保存して 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 またはオブジェクトではありません」を返します。
興味深いのは、「localStorage」も使用する「pushArray」を呼び出すときにエラーが発生しないことです。
「localStorage」だけでなく「window.localStorage」も使用しようとしましたが、同じエラーが返されました...
Microsoft と W3 によると、IE8 は localStorage をサポートするはずですが、どこに問題があるかについて何か手がかりを持っている人はいますか? どうもありがとう!
編集-これはコードの jsfiddle です。なんらかの理由で、うまく機能しませんが、コードの感触をつかむためだけに...