javascript - 为什么我的 localStorage 输入在我的个人计算机上跨页面不持久?

标签 javascript local-storage

我正在尝试使用 HTML5 localStorage 方法保存数据。据我了解,localStorage 应该在同一域内的页面之间持久存在。如果我错了,请纠正我。

但是,出于某种原因,我的 localStorage 值似乎不会在我计算机上同一目录中的页面之间保留。在这种情况下,它不被认为是同一个域吗?我有点迷路了。

以下是相关两个文档的代码:

文档 1(假设 jQuery 已包含在文档的其他位置)

<script type="text/javascript">
$(document).ready(function() {
    $("form#settings").submit(function(event) {
        event.preventDefault();
        localStorage["display"] = $("input[name='display']:checked").val();;
        localStorage["message"] = $("#disp_message").val();
    });
});
</script>
<form id="settings">
    <h1>Display</h1>
    <input type="radio" name="display" id="message" value="message" />
    <label for="message">Replace with message:</label>&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" id="disp_message" size="60" value="Test content." /><br />
    <input type="radio" name="display" id="hide" value="hide" />
    <label for="hide">Hide entries</label>
    <br />
    <br />
    <input type="submit" />
</form>

文档 2

<html><body>
    <script>
    document.write(localStorage["message"]);
    document.write("<br />");
    document.write(localStorage["message"]);
    </script>
</body></html>

只是为了澄清一下代码,这个想法基本上是稍后将其用于 Google Chrome 扩展以根据特定标准隐藏特定内容。文档 1 将作为选项页面的基础,文档 2 将作为实际扩展脚本的基础。但这与我的问题无关。

作为最后的说明,我已经尝试了所有三种存储和访问 localStorage 变量的方法,即: localStorage["键"] = "值"; localStorage.key = "值"; localStorage.setItem("键", "值");

有什么想法吗?

最佳答案

如果您在 Chrome 中进行测试,file:// 下的所有内容,甚至同一目录中的文件夹都被视为单独的域,因此同源策略开始生效,并且 localStorage 对每个都是唯一的。

我目前没有设置测试环境,但使用命令行标志启动:
--allow-file-access-from-files 应该是您所追求的。

关于javascript - 为什么我的 localStorage 输入在我的个人计算机上跨页面不持久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394468/

相关文章:

javascript - 如何将 RequireJS 与 Knockout 结合使用

javascript - 如何区分查询并获取最后的数据日期? (解析服务器)

javascript - 通过JS更新变量值后CSS伪类消失

javascript - 通过按钮单击的 HTML 本地存储

javascript - 使用 Javascript 将数据存储到本地存储

javascript - 在 TypeScript 中使用 Promises 的异步函数的正确错误模式

javascript - NodeJS 的命令字符串解析工具

javascript - 将数组保存到 Chrome 本地存储

javascript - localStorage 或 sessionStorage 是否会影响网站的可访问性?

javascript - 本地存储 : Change value for a specific array using Stringify