[英]How to know if user has completed all tasks?
我正在制作僅使用HTML,JavaScript和CSS的應用程序,並為孩子們准備了一些小游戲(例如拼圖,訂購單詞,繪畫和繪畫...)。 我有索引頁面,該頁面具有指向每個游戲頁面的鏈接,一旦游戲結束,它將直接重定向到索引頁面,所有頁面都位於同一瀏覽器選項卡中。
我想知道的是,如果有某種方式可以知道玩家何時完成了一場游戲,那么此后,游戲將被鎖定,並且一旦玩家完成了所有游戲,它將解鎖特別獎品或某種東西。
我嘗試使用本地存儲,但是問題是,一旦我玩了一個游戲,它將保持鎖定狀態,因為即使關閉瀏覽器,本地存儲也會保留我玩過的內存。 關閉瀏覽器后,是否可以使用本地存儲“丟失其內存”? 還是有比本地存儲更有效的方法?
任何幫助將非常感激!
您可以使用SessionStorage
。 根據定義,“它保留在同一選項卡中”,這意味着一旦關閉頁面,存儲就會丟失。
舉個例子,你可以遵循這個,我希望它可以幫助你...
<!DOCTYPE html>
<html>
<body>
<div id="result"></div>
<script>
// Check browser support
if (typeof(Storage) != "undefined") {
// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage...";
}
</script>
</body>
</html>
嘗試谷歌sessionsage為HTML,有很多例子..祝你好運!
給您的好書: http : //www.smashingmagazine.com/2010/10/11/local-storage-and-how-to-use-it/
關於本地存儲,您可以執行以下操作:
加載頁面后,設置您的本地存儲並將所有游戲設置為incomplete
創建一個store()
和check()
函數來幫助您並使事情變得更輕松
function store(game, status){
localStorage.setItem(game, status);
}
function check(game){
return localStorage.getItem(game);
}
window.onload = function() {
store("puzzle1", false);
store("puzzle2", false);
store("puzzle3", false);
}
當用戶完成游戲時,您可以更改存儲中的數據:
someEvent() {
store("puzzle1", true);
}
然后在游戲結束時或在游戲開始頁面上運行一些檢查:
//if puzzle1 is true
if(check("puzzle1")) {
//do Stuff
}
我相信這應該為您工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.