【问题标题】:Javascript How to write localStorage scriptJavascript 如何编写本地存储脚本
【发布时间】:2017-08-23 12:40:37
【问题描述】:

如何编写localStorage脚本来记住转动里程表的值......这样每次用户再次访问该站点时,里程表都会恢复到用户离开站点时里程表所在的值?我是javascript的初学者,所以请理解...

这是我的代码:https://jsfiddle.net/aht87opr/17/

我发现以下代码可能对我的情况有所帮助:http://jsfiddle.net/Jonathan_Ironman/Hn7jc/

$('button').click(function() {
    var mefedron = myOdometer.get();
    $('#value').text(mefedron);
});

【问题讨论】:

  • 你试过MDN localStorage的例子吗?
  • 你真的不能再简单了,这是一个非常简单的键/值存储.. 例如.. set -> localStorage.setItem('score', theScore) & get -> theScore = localStorage.getItem('score')|0
  • @Keith 如果有人可以解决与我提供的 jsfiddle 链接相关的代码,那就太好了。我在这里尝试了所有答案,但都没有在 jsfiddle 上工作。我想知道我做错了什么。我说我是初学者

标签: javascript local-storage


【解决方案1】:

在里程表上做得很好,看起来不错。本地存储很简单。 设置本地存储:

localStorage.setItem("key", "value");

获取本地存储:

var number = localStorage.getItem("key");

请务必先尝试获取本地存储,以便处理任何空错误。

【讨论】:

  • +1,但您可能应该提到您应该将 localStorage 使用包装在 try, catch 块中或首先检查它是否可用,因为它可能由于旧浏览器或 private surfing 而不可用移动设备上的模式。
  • @RyanWalker 如果有人可以解决与我提供的 jsfiddle 链接相关的代码,那就太好了。我在这里尝试了所有答案,但都没有在 jsfiddle 上工作。我想知道我做错了什么。我说我是初学者
  • 我不熟悉 jsfiddle,但这可能是问题所在。在浏览器中的普通 .html 文档上试试这个
【解决方案2】:

获取和设置

localStorage 有几种方法可以获取和设置浏览器的值。最简单的就是把它当作一个普通的对象。

localStorage.distance = 55;

然后您可以通过访问您之前创建的属性名称来检索该值。

console.log(localStorage.distance); // "55"

存储字符串,解析字符串

注意localStorage.distance 被设置为一个数字,但访问时是一个字符串。如果您只需要存储一个数字,您可以通过 parseInt() 之类的函数传递字符串。

console.log(parseInt(localStorage.distance)); // 55

另一种解决方案是使用 JSON

创建里程表的对象模型。

var odometer = { distance: 55, timeForOilChange: false };

然后写信给localStorage,通过JSON.stringify传递你的模型

localStorage.odometer = JSON.stringify(odometer);

并使用 JSON.parse 将值读回

console.log(JSON.parse(localStorage.odometer)); 
// { distance: 55, timeForOilChange: false }

【讨论】:

  • t3dodson 谢谢...但我不知道如何将这些信息实际应用到我的代码中,请您帮忙吗? jsfiddle.net/aht87opr/26
  • @Habanera 抱歉,Stack Overflow 不是代码编写服务。为了清楚起见,请询问另一个更直接的答案。 Stack Overflow 不会为您提供完整的代码解决方案,但会回答您面临的任何概念问题。
  • @Habanera 这是涵盖基本概念的教程的链接。 referencedesigner.com/tutorials/js/js_1.php
  • jsfiddle.net/nech0L9e/4(这是我自己编写本地存储脚本的尝试)。问题是我希望在页面刷新后回到我现在离开页面时的确切数字...正如人们所见,我的本地存储脚本没有这样做,即在我尝试创建 loadOrCreate 函数的第 125 行可能存在问题,在第 129 和 144 行,一定有问题...@t3dodson
猜你喜欢
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多