ローカル環境でlocalStorage IEでは動かない
サーバ無しでローカル環境(WindowsだったらローカルのC:\・・・のファイルとか)で動かせるページを作る必要があって、HTML5のWeb Storage(localStorage)を利用した。
はじめChromeで確認しながら作っていたところ、問題なく動作した。(Chrome34)
その後、もしや・・・と思ってIEで動作確認したら動かなかったのでメモ。(IE11)
一応Firefoxでも確認したが、Firefoxは動いた。(Firefox29)
IEでも、ローカルではなく、サーバにアップして動作させるなら動くらしい。対応していないわけではないようだ。
確認がめんどくさいですね。。。
ユーザはIEでしか動かせない(Chromeってなんですか的な)可能性があるので、今回ちょっと困るけど・・・
コードはこんな感じ。他にも書き方があるみたいだけど、一番単純なもの。
//格納 function writeLocalStorage(a, b) { localStorage.setItem("a", a); localStorage.setItem("b", b); //参照 function readLocalStorage() { localStorage.getItem("a"); localStorage.getItem("b"); }
現在日時表示処理も作ったのでついでに。
function writeDate() { tmpD = new Date(); tmpYear = tmpD.getFullYear(); tmpMonth = ('0' + (tmpD.getMonth() + 1)).slice(-2); tmpDate = ('0' + tmpD.getDate()).slice(-2); tmpHours = ('0' + tmpD.getHours()).slice(-2); tmpMinutes = ('0' + tmpD.getMinutes()).slice(-2); tmpSeconds = ('0' + tmpD.getSeconds()).slice(-2); outDate1 = tmpYear + "/" + tmpMonth + "/" + tmpDate + "/"; outDate2 = tmpHours + ":" + tmpMinutes + ":" + tmpSeconds; outDate = outDate1 + " " + outDate2; document.write( outDate ); }
「yyyy/mm/dd HH:MM:SS」で表示される。