我正在创建一个纵横字谜网络应用程序,它从服务器拉取XML数据,使用javascript解析数据并使用[canvas]标记在页面上构建拼图。当用户选择一条线索并输入正确答案时,字母会放在纵横字谜的相应方格中。使用HTML5网络存储在HTML页面上保存用户输入
下面是放置字母对应的方格的代码片段:
function answer() {
if (this.value != '') {
var letters = this.value.split('');
var correct = xmlhttp.responseXML.getElementsByTagName(node)[0].getAttribute('a').split('');
var numCorrect = 0;
for (var i = 0; i < selected.length; i++) {
if (letters[i]) {
if (letters[i].toUpperCase() == correct[i]) {
eval('ctx.drawImage(i'+letters[i].toLowerCase()+'b, '+((selected[i].id%15)*26)+', '+(Math.floor(selected[i].id/15)*26)+')');
matrix[selected[i].id] = 1;
numCorrect++;
} else {
matrix[selected[i].id] = 0;
}
}
}
if (numCorrect == correct.length) {
alert('Correct!');
clearSelection();
} else if (numCorrect == 0) {
alert('Incorrect, try again.');
document.getElementById('answer').value = '';
document.getElementById('answer').focus();
} else if (numCorrect != correct.length) {
alert('Only some letters are correct.');
clearSelection();
}
checkForWin();
}
}
我的问题是,我该如何拯救拼图和XML的状态(使用HTML5网络存储),这样用户可以脱机播放并防止浏览器刷新时丢失进度?
任何人都可以帮助我解决这个问题,我对HTML Web API不是很熟悉......但是我听说它是一个有价值的网络应用工具。你的意见将不胜感激。
感谢, 卡洛斯
感谢您的快速响应,但是如何实现这一点,我仍然有点失落。只是为了澄清,我可以简单地在我的JavaScript中输入上面的代码,然后用按钮或onRefresh中的onClick激活它,例如?或者还有更多吗? “NAME”参数可以是我选择的任何东西吗? – Carlos
绝对!是的,你可以用任何你想要命名你的对象的名字来代替这个名字。 “NAME”是关键价值。 – Infinity