7

我正在开发一个应用程序,并且在某些时候,我需要存储需要在多个页面之间持久存在的信息,更有可能它只有 2 个页面。信息量在几个字节和大约 15KB 之间变化(永远不会超过 20KB)。我无法真正正确地预先预测它会是多少。

为此,我决定使用 localStorage。

现在我只在 localhost:8080 上工作。

这些页面现在只有通用名称:pageA.php 和 pageB.php。

这些页面位于域的根目录上。IE

http://localhost:8080/pageA.php
http://localhost:8080/pageB.php

...

在某些时候,我将数据存储在 localStorage 的 pageA.php 上(我确实使用了 setItem() 方法)。

当用户移动到 pageB.php 时,pageB.php 的脚本会尝试获取存储在 pageA.php 中的数据。
问题是 getItem() 在 pageB.php 上总是返回 null

我确实检查了我正在使用的密钥,它们是相同的,所以那里应该没有问题。

我已经检查过,只要 url 没有改变,存储的数据就会在页面加载之间持续存在。

我在这里做错了什么?

注意:仅在 Firefox 19 和 chrome 24 上测试

4

1 回答 1

2

这里的问题是我使用的编辑器已更改,因此它在搜索时区分大小写。
当我更改用于键的字符串时,由于区分大小写,替换器与所有字符串都不匹配。
我通过搜索和调整每个键来解决它,使所有键都具有相同的字符和相同的大小写,而不是相同的字符,无论大小写。
归根结底,只是注意力不集中。正如预期的那样,javascript 中的字符串区分大小写,这也适用于 localStorage 和 sessionStorage 的键

于 2013-02-24T18:30:30.623 回答