0

次の単純なコードは Firefox (12.0) では機能しますが、ローカル ストレージが IE9 でサポートされているにもかかわらず、IE 9 では機能しないようです。alert(localStorage.lastname); の方法に注目してください。結果は表示されません。サポートされているとドキュメントに記載されているため、IE9 で localStorage を使用する際に既知の問題があるかどうか疑問に思っていました。

   <!DOCTYPE html>
    <html>
    <body>
    <script> 
    if(typeof(Storage)!=="undefined")
    {
      alert('local storage')
      localStorage.lastname="Smith";
      alert(localStorage.lastname);  
    }
     else
    {
     alert("Sorry, your browser does not support web storage...")
    }
   </script>
   </body>
   </html>
4

3 に答える 3

2

localstorage 内のアイテムを直接設定/取得しないでください。そのために適切な方法を使用します。

localStorage.setItem(key,value)
localStorage.getItem(key)
localStorage.removeItem(key)

これで IE の問題が解決し、幸せに暮らせるでしょう :-D

(値は文字列として保存されることに注意してください!)

于 2012-06-06T14:32:04.560 に答える
0

実際には、Webサーバーからも機能しません。WebsphereアプリケーションサーバーでWebアプリを実行していますが、IE9でも同じ問題が発生します。それはクロムでうまく動作します。

このページで試してみることができます:http://html5doctor.com/storing-data-the-simple-html5-way-and-a-few-tricks-you-might-not-have-known/

于 2012-07-03T05:29:52.493 に答える
0

Web サーバーで HTML ファイルをホストする場合、コードは IE で正常に動作します。

IE で file:// url を開いている場合、localStorage は未定義になります。
if(typeof( localStorage )!=="undefined") で確認すると、「申し訳ありませんが、お使いのブラウザは Web ストレージをサポートしていません...」というメッセージが表示されます。

于 2012-06-06T18:18:31.200 に答える