gameover页面 - 无法保存到本地存储

时间:2016-02-07 13:32:06

标签: javascript cordova local-storage

我想在游戏中添加高分。现在我有这个:

var score = 0;

得分变量有效,但每当我得到点数总共60分时,它表示使用console.log(highscore)检查时得分仍为零。

我有这个来存储高分:

localStorage.bestscore = score;
var bestscore = localStorage.bestscore

并检索保存的数据

<script>
         document.getElementById("bestscore").innerHTML = localStorage.getItem('best'); 
</script>
<h1>Your Score is <span id="bestscore">0</span></h1>

但有些不对劲!请帮助:)!

6 个答案:

答案 0 :(得分:2)

要在localStorage中存储内容,您必须使用&#39; setItem&#39;

localStorage.setItem('bestscore', score)

然后要检索它,请使用

localStorage.getItem('bestscore')

有关功能的更多信息:

https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem

答案 1 :(得分:1)

localStorage有两种方法getItemsetItem。 这是一个例子:

localStorage.setItem('bestScore', score);
var bestScore = localStorage.getItem('bestScore');

答案 2 :(得分:1)

以下将高分记录设置为localStorage,然后当得分时,将从本地存储获得高分,如果新分数高于现有高分,则将使用新值覆盖高分。希望这可以帮助。请注意,这只是代码的一部分 - 需要放入一个在得分时调用的函数。

var score=0;
localStorage.setItem("high_Score",score);
var highScore = localStorage.getItem("high_Score");
if(score > highScore){localStorage.setItem("high_Score",score)};

然后显示它:

var highScore = localStorage.getItem("high_Score");
document.getElementById("bestscore").innerHTML=highScore;

答案 3 :(得分:1)

我刚创建此文件以显示它 - 按预期工作。我将控制台设置为显示本地/会话存储,以便我可以看到数字何时被修改并且按预期工作,。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

<body onload="set_score()">
    <p>The highest Score so far is: <span id="bestscore"></span></p>
                <input type="text" id="score" value="" >
                    <button type = "button" onclick="score()">score</button>
<script>
function set_score()
    {
        var score=0;
        localStorage.setItem("high_Score",score);
        document.getElementById("bestscore").innerHTML=score;
    }

function score(){
    var score=parseInt(document.getElementById("score").value);
    var highScore = localStorage.getItem("high_Score");
    if(score > highScore){localStorage.setItem("high_Score",score)};
    var new_highScore = localStorage.getItem("high_Score");
    document.getElementById("bestscore").innerHTML=new_highScore;
    }
</script>
</body> 
</head>
</html>

将其复制到notepadd ++文档中,将其另存为html并在浏览器中运行。希望它有助于Gav

答案 4 :(得分:0)

这里是函数:在页面上加载 - 调用set_score()来初始化值,然后在数字输入到输入字段(id为&#34;得分&#34;) - 调用得分()它应该工作。

function set_score(){
    var score=0;
    localStorage.setItem("high_Score",score);
    document.getElementById("bestscore").innerHTML=score;
}

function score(){
    var score=parseInt(document.getElementById("score").value);
    var highScore = localStorage.getItem("high_Score");
    if(score > highScore){localStorage.setItem("high_Score",score)};
    var new_highScore = localStorage.getItem("high_Score");
    document.getElementById("bestscore").innerHTML=new_highScore;
}

在我的傻瓜身上按预期工作

答案 5 :(得分:0)

尝试使用window.localStorage

var score = 0;
window.localStorage.setItem('bestScore', score);
var bestScore = window.localStorage.getItem('bestScore');

我希望有所帮助!