【问题标题】:WebOS Resets LocalStorage On Browser Close?WebOS 在浏览器关闭时重置 LocalStorage?
【发布时间】:2011-04-20 02:25:24
【问题描述】:

我有一个 HTML5 网络应用程序,其中我使用 localStorage 在使用之间保留一些客户端用户设置。我以为我一切正常,但我最近发现在 WebOS 浏览器中,在浏览器完全关闭后,localStorage 项目被清除(所有卡片——不仅仅是我的页面)。它的行为就像它被保存到会话存储中一样,但事实并非如此。这是一个说明我的问题的最小示例:

<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <meta charset="utf-8" />
        <meta name="apple-mobile-web-app-capable" content="yes">
        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script>
            $(function() {
                $('#btnV').click(function() {
                    var x = '';
                    for(var i = 0; i < localStorage.length; i++) {
                        x += localStorage.key(i) + ':' + localStorage.getItem(localStorage.key(i)) + '<br/>';
                    }
                    $('#lbl').empty().append(x);
                });
                $('#btnS').click(function() {
                    localStorage.setItem('test', 'blah');
                });
            });
        </script>
    </head>
    <body>
        <span id="lbl"></span>
        <input type="button" id="btnS" value="Save" />
        <input type="button" id="btnV" value="View" />
    </body>
</html>

当我第一次加载页面并单击“查看”按钮时,没有显示任何内容。如果我单击“保存”,然后单击“查看”,我将看到该项目已保存。刷新页面并立即单击查看显示该值在页面重新加载期间保留。但是,如果我完全关闭浏览器然后返回页面,“查看”将不会像第一次那样显示任何值。我是否错误地设置了 localStorage 项目,或者我的 WebOS 浏览器是否以某种方式配置为执行此操作?我在设置中找不到任何相关内容。

谢谢...

【问题讨论】:

  • 希望我能提供帮助,但您的代码看起来不错,所以我猜这是 WebOS 问题(我没有掌上设备)
  • 模拟器会出现这种情况吗?在设备上?什么版本的操作系统?我在模拟器中有几个不同的设备和操作系统版本,所以我稍后会尝试看看它,看看它在哪里复制。
  • @GordonWorley @Gordon Worley :是的,它发生在模拟器(1.4.5 SDK)和设备(Palm Pre Plus,也是 1.4.5)上。这就是我要测试的全部内容

标签: javascript web-applications html local-storage webos


【解决方案1】:

据我所知,WebOS 1.4.x 不支持 localStorage。我想我记得看到它被列为 WebOS 2.0(或者可能是 2.1)中启用的功能,但我找不到有关该主题的任何文档,所以我可能记错了。

假设您存储少量数据,用户设置通常更适合使用Mojo.Model.Cookie 存储在 WebOS 的 cookie 中。

在我自己的应用程序中,我将 cookie 用于用户偏好,并将应用程序数据存储在 HTML5 数据库中,我的open-source database class 使 HTML5 数据库访问变得不那么繁琐。

【讨论】:

  • 谢谢。显然是这种情况......我只是觉得奇怪的是 1.4.x 确实支持它,它只是不支持它。 Cookies 可能是我要走的路——谢谢你的建议!
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 2017-04-05
  • 2016-12-31
  • 2013-11-26
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
相关资源
最近更新 更多