Javascript 为什么不';我的本地存储输入是否在我的个人计算机上的页面间保持不变?
我正在尝试HTML5本地存储方法来保存数据。据我所知,本地存储应该在同一个域中的页面之间保持不变。如果我错了,请纠正我 但是,由于某些原因,我的本地存储值似乎没有在我的计算机上同一目录中的页面之间持久化。在这种情况下,它不被视为同一个域吗?我有点迷路了 以下是这两个文件的代码: 文档1(假设jQuery已包含在文档的其他地方)Javascript 为什么不';我的本地存储输入是否在我的个人计算机上的页面间保持不变?,javascript,local-storage,Javascript,Local Storage,我正在尝试HTML5本地存储方法来保存数据。据我所知,本地存储应该在同一个域中的页面之间保持不变。如果我错了,请纠正我 但是,由于某些原因,我的本地存储值似乎没有在我的计算机上同一目录中的页面之间持久化。在这种情况下,它不被视为同一个域吗?我有点迷路了 以下是这两个文件的代码: 文档1(假设jQuery已包含在文档的其他地方) $(文档).ready(函数(){ $(“表单设置”).submit(函数(事件){ event.preventDefault(); localStorage[“dis
$(文档).ready(函数(){
$(“表单设置”).submit(函数(事件){
event.preventDefault();
localStorage[“display”]=$(“输入[name='display']:选中”).val();;
localStorage[“message”]=$(“#disp_message”).val();
});
});
展示
替换为消息:
隐藏条目
文件2
document.write(localStorage[“message”]);
文件。写(“
”);
document.write(localStorage[“message”]);
为了稍微澄清一下代码,我们的想法基本上是稍后将其用于Google Chrome扩展,以根据特定标准隐藏特定内容。文档1将作为选项页的基础,文档2将作为实际扩展脚本的基础。但这与我的问题无关
作为最后的澄清,我尝试了所有三种存储和访问localStorage变量的方法,即:
本地存储[“键”]=“值”;
localStorage.key=“value”;
setItem(“键”、“值”)
有什么想法吗?如果您在Chrome中进行测试,则
文件://
下的所有内容,甚至同一目录中的文件夹都被视为单独的域,因此相同来源的策略正在生效,并且本地存储
对每个人都是唯一的
我目前没有测试环境设置,但使用命令行标志启动:——允许从文件访问文件
应该是您的目标
<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>
<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>
<html><body>
<script>
document.write(localStorage["message"]);
document.write("<br />");
document.write(localStorage["message"]);
</script>
</body></html>