我正在创建一个纵横字谜网络应用程序,它从服务器拉取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不是很熟悉......但是我听说它是一个有价值的网络应用工具。你的意见将不胜感激。
感谢, 卡洛斯
2011-08-29
Carlos