设置并获取javascript中的localStorage在2个html页面之间无法正常工作

时间:2018-03-27 05:45:19

标签: javascript jquery html5

external.js代码

var global = "parameter";
localStorage.setItem("param", global);
var storedValue = localStorage.getItem("param");
alert(storedValue);

one.html页码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="external.js"></script>

<a href="two.html" >2nd page</a>

two.html页码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="external.js"></script>

<a href="one.html" >1st page</a>

我想在第二页访问var storedValue变量值。

请帮助我实现这一目标。

3 个答案:

答案 0 :(得分:1)

您已经拥有它,只需将您在Javascript中所做的内容复制到第二页的上下文中:

var storedValue = localStorage.getItem("param");
alert(storedValue);

虽然使用点符号更好一点:

const storedValue = localStorage.param;
alert(storedValue);

Page 1 Javascript:

const global = "parameter";
localStorage.setItem("param", global);

Page 2 Javascript:

const storedValue = localStorage.getItem("param");
alert(storedValue);

示例:

转到此处https://jsfiddle.net/ag2t8r0x/

然后去https://jsfiddle.net/ag2t8r0x/1/

您将看到存储在第一页上的数据在第二页上被检索。

答案 1 :(得分:0)

您的方法的主要问题是您正在创建名为“param”的localStorage项目两次。所以,没有必要。您可以做的最好的事情是在一个页面上创建它,然后只从任何页面访问它。 LocalStorage与页面无关,因为它持久存储在内存中,更具体地说,在windows中:

  

%LocalAppData%\ Google \ Chrome \ User Data \ Default \ Local Storage。

最佳方法:

const global = "parameter";
localStorage.setItem("param", global); //storing the varable in memory.

主要在localStorage中创建一个变量名称参数,然后您可以从相同或另一个页面访问它:

const storedValue = localStorage.getItem("param"); //Accessing the item
console.log(storedValue);

感谢您在评论中指出错误。

答案 2 :(得分:0)

这很容易在two.html页面中获取存储值。遵循代码。它有效。

<body>
  <a href="one.html">1st page</a>
  <script>
    $(document).ready(function() {
      var storedValue = localStorage.getItem("param");
      alert(storedValue);
    });
  </script>
</body>

您可以找到详细信息here