0

以下简单代码在 Firefox (12.0) 中有效,但在 IE 9 中似乎无效,即使 IE9 支持本地存储。注意 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.setItem(key,value)
localStorage.getItem(key)
localStorage.removeItem(key)

这解决了您的 IE 问题,您将过上幸福的生活 :-D

(注意,这些值存储为字符串!)

于 2012-06-06T14:32:04.560 回答
0

如果您在 Web 服务器上托管 HTML 文件,您的代码将在 IE 上正常工作。

如果您在 IE 中打开 file:// url,则 localStorage 将是未定义的。
尝试使用 if(typeof( localStorage )!=="undefined") 进行确认,您将收到“抱歉,您的浏览器不支持网络存储...”

于 2012-06-06T18:18:31.200 回答
0

实际上它甚至不能从网络服务器工作。我在 websphere 应用程序服务器上运行一个 web 应用程序,我在 ie9 上遇到了同样的问题。它在 chrome 上运行良好。

你可以试试这个页面上的东西:http: //html5doctor.com/storing-data-the-simple-html5-way-and-a-few-tricks-you-might-not-have-known/

于 2012-07-03T05:29:52.493 回答