我正在制作一个基于文本的javascript和html游戏,你必须收集物品。用户可以在游戏中的每个位置都有一个html页面,它们可以在不同位置之间自由移动。
我为库存创建了一个空数组,并且该函数确定用户是否已经在该位置拾取了该项目。
function fieldItems () {
if (inventory.indexOf("paper") === -1 && inventory.indexOf("string") === -1) {
var fieldItems= prompt("There is string and paper \n Do you: \n A -pick up the paper \n B -take the string \n C -take both \n D -leave both").toUpperCase();
} else if (inventory.indexOf("string") === -1){
var fieldItems= prompt("There is string. \n Do you: \n B -take the string \n D -leave it").toUpperCase();
} else if (inventory.indexOf("paper") === -1) {
var fieldItems= prompt("There is paper\n Do you: \n A -pick up the paper \n D -leave it").toUpperCase();
} else {
confirm("The field is empty.");
};
if (fieldItems === "A") {
inventory.push("paper");
confirm("You pick up the piece of paper.");
} else if (fieldItems === "B") {
inventory.push("string");
confirm("You take the string.");
} else if (fieldItems === "C") {
inventory.push("paper");
confirm("You pick up the piece of paper.");
inventory.push("string");
confirm("You take the string.");
} else {
confirm("You do not pick anything up.")
};
然而,当我离开页面并返回该位置时,它不记得推送到库存的物品。
有没有一种简单的方法可以让程序记住页面之间的更新库存以及当我返回该位置时?
谢谢。
答案 0 :(得分:0)
实际上,当你离开一个html页面时,所有的javascript变量都被删除了,绕过它的一个很好的方法是使用AJAX(使用jQuery)。
您拥有自己的页面,而不是
<a href="mypage.html"> Link </a>
使用
<a onclick="$('#main').load('mypage.html');" href="#"> Link </a>
然后,所有的javascript变量(包括数组)都将被保存。
(显然,您需要将所有代码放在<div id="main"></div>
之间,否则,它将无效!:p