HTML5 LocalStorage 似乎已损坏

Posted

技术标签:

【中文标题】HTML5 LocalStorage 似乎已损坏【英文标题】:HTML5 LocalStorage seems to become corrupt 【发布时间】:2013-05-23 15:31:45 【问题描述】:

我正在使用 BootUp.js (https://github.com/TradeMe/bootup.js) 将 CSS 和 javascript 文件加载并存储到 html5 LocalStorage 中。该网站以移动设备为重点,因此节省时间和提高速度非常棒!但是,我注意到奇怪的情况是 CSS(从未注意到它与 JS)在存储中损坏,因此网站呈现可怕的状态,直到存储被清除并从服务器重新获取 CSS 文件。

我在 iPhone 4 (ios 6) 上的 Safari、Galaxy S3 上的 Chrome 和 Nexus 7 上的 Chrome 上看到这种情况非常偶发 - 所以它似乎并不局限于任何特定的设备、浏览器或操作系统。这是任何人以前遇到过的问题吗?数据是否有可能只是以某种方式损坏? WebKit 是否有任何已知问题(我猜)可能导致它?

我计划通过存储某种可以在 JS 中生成的校验和来实现一种解决方法,以确保数据完全存在。如果没有,请将其清除并从服务器获取。

【问题讨论】:

我不熟悉启动,但它会执行某种形式的 CSS 缩小吗?这可以解释为什么 css 而不是 js 会受到影响。 我的 CSS 已经被缩小了。 Bootup 只是将它作为字符串存储在本地存储中。 【参考方案1】:

我会首先使用这个: http://arty.name/localstorage.html

由于明显的内存限制,移动浏览器往往会减少存储空间。您的 CSS 和 Javascript 可能太大,即使在缩小时也是如此。

对于这种行为,我能想到的另一件事是localStorage 在开始保存并同时刷新页面时可能会损坏。我不熟悉浏览器的具体工作原理,但我猜它们可能会在中间停止保存。

另外,请看这里: http://hacks.mozilla.org/2012/03/there-is-no-simple-solution-for-local-storage/

【讨论】:

以上是关于HTML5 LocalStorage 似乎已损坏的主要内容,如果未能解决你的问题,请参考以下文章

HTML5中的localStorage啥时候会被清空

npm 包似乎已损坏

git 中的分支损坏,致命:您当前的分支似乎已损坏

邮编混乱。插件似乎已损坏

从命令行构建Android - 包似乎已损坏

无法提取或转换 SWF 文件,因为它们似乎已损坏