问题标签 [local-storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
23300 浏览

javascript - HTML5 本地存储和 SQL

我知道 HTML5“localStorage”是一个键:值存储,但我想知道是否有可用的 Javascript 库提供更多SQL 风格的API?

0 投票
4 回答
45294 浏览

iphone - iPhone本地存储的限制?

我想知道 iPhone 上 localstorage HTML 5 的限制是什么?我读到它就像 5 Mb,但我很惊讶它是如此之小。有任何想法吗?

0 投票
24 回答
1298006 浏览

javascript - 如何在 HTML5 localStorage 中存储对象?

我想在 HTML5 中存储一个 JavaScript 对象localStorage,但我的对象显然被转换为字符串。

我可以使用 存储和检索原始 JavaScript 类型和数组localStorage,但对象似乎不起作用。他们应该吗?

这是我的代码:

控制台输出是

在我看来,该setItem方法是在存储之前将输入转换为字符串。

我在 Safari、Chrome 和 Firefox 中看到了这种行为,所以我认为这是我对HTML5 Web Storage规范的误解,而不是特定于浏览器的错误或限制。

我试图理解http://www.w3.org/TR/html5/infrastructure.html中描述的结构化克隆算法。我不完全理解它在说什么,但也许我的问题与我的对象的属性不可枚举有关(???)

有简单的解决方法吗?


更新:W3C 最终改变了对结构化克隆规范的看法,并决定更改规范以匹配实现。请参阅https://www.w3.org/Bugs/Public/show_bug.cgi?id=12111。所以这个问题不再是 100% 有效,但答案仍然可能是有趣的。

0 投票
2 回答
8404 浏览

html - 用于资产(样式表、JavaScript、图像等)的 HTML5 localStorage

为了节省客户端下载时间和网络使用量,是否可以使用 HTML5 的 localStorage 功能来存储链接样式表、javascript 文件和二进制数据(例如图像)的内容,而不是每次都访问服务器?

这只会使事情复杂化 - 因为我假设您必须通过 JavaScript 添加链接的资产,而不仅仅是一个scriptorlink元素,从而破坏那些没有启用 JavaScript 的页面)?除非您可以在浏览器下载内容之前解析内容(使用HEAD请求检查上次修改日期和其他标题)。

还是最好只坚持304 Not ModifiedeTag标题?

0 投票
1 回答
668 浏览

javascript - Opera localStorage 忽略了我的存在检查

上述 JavaScript 在 Opera 10.10 中失败。它抱怨 localStorage 在第二行未定义。这是真的,但是由于第一行的检查,它永远不会到达第二行,并且不会失败。我究竟做错了什么?

0 投票
6 回答
17396 浏览

google-chrome - Chrome 扩展程序是否可以访问本地存储?

是否可以在 chrome 扩展的上下文中以浏览器重新启动后可以访问的方式存储数据?

0 投票
7 回答
78250 浏览

javascript - JavaScript; 具有相同来源的选项卡/窗口之间的通信

我有两个窗口:窗口 A 和窗口 B。

  • 窗口 A 和窗口 B 具有相同的域
  • 窗口 A 和窗口 B 没有任何父窗口。
  1. 窗口 A 是否有可能获得窗口 B 的引用?
  2. 让窗口 A 通知窗口 B 的最优雅的方法是什么?(包括新的 HTML5 规范)

我知道这样做的两种方法:

  • 服务器消息传递:窗口 B 定期询问服务器窗口 A 是否通知了某些内容
  • 通过本地数据发送消息 (HTML5):当窗口 A 想要通知某事它更改了本地数据时,窗口 B 会定期检查本地数据是否有任何更改。

但这两种方式都不是那么优雅。

例如,最好获取窗口 B 的引用并使用 window.postMessage() (HTML5)

最终目标是制作类似于 Facebook 的东西,如果您打开四个 Facebook 选项卡并在一个选项卡中聊天,则每个 Facebook 选项卡中的聊天都是最新的,这很整洁!

0 投票
4 回答
16866 浏览

javascript - 在网络工作者之间共享变量?【全局变量?】

我有什么办法可以在两个网络工作者之间共享一个变量吗?(网络工作者基本上是 Javascript 中的线程)

在像 c# 这样的语言中,你有:

我知道这是一个不好的例子,但是在我的 Javascript 应用程序中,我有一个线程进行繁重的计算,可以分布在多个线程中[因为我有大量的数组形式的数据。数组的所有元素都是相互独立的。换句话说,我的工作线程不必关心锁定或类似的事情]

我发现在两个线程之间“共享”一个变量的唯一方法是创建一个 Getter/setter [通过原型],然后使用 postMessage/onmessage ......虽然这看起来效率很低[尤其是对象,我有将 JSON 用于 AFAIK]

LocalStorage/Database 已从 HTML5 规范中删除,因为它可能导致死锁,所以这不是一个选项 [可悲]...

我发现的另一种可能性是使用 PHP 实际上有一个 getVariable.php 和 setVariable.php 页面,它们使用 localstorage 来存储整数/字符串......再次,必须将对象 [包括数组/null] 转换为JSON...然后是 JSON.parse()'d。

据我所知,Javascript 工作线程与主页面线程完全隔离 [这就是 Javascript 工作线程无法访问 DOM 元素的原因

尽管 postMessage 有效,但速度很慢。

0 投票
17 回答
348523 浏览

javascript - HTML5 本地存储中的项目何时过期?

存储在localStorage(作为 HTML5 中的 DOM 存储的一部分)中的数据可用多长时间?我可以为放入本地存储的数据设置过期时间吗?

0 投票
0 回答
750 浏览

html - LocalStorage 数据的生命周期

可能重复:
DOM 存储过期时间

我想知道 LocalStorage 中的数据存在多长时间。我收集到的是它是永久性的,直到被应用程序或用户清除。