如果网页位于usb棒上,如何保持网页数据

时间:2013-05-08 09:41:53

标签: javascript html

我正在尝试制作一个小的html测验,可以在任何平台上使用浏览器从usb棒开始。

测验非常简单。用户打开网页,看到第一个问题。他可以点击答案A,B,C或D.用户点击A,B,C或D后,如果他是对或错,他会得到正确的答案和消息。然后他被问到下一个问题。等等。

最后,他得到一个页面,显示有多少问题得到了解答。这就是测验。

目前问题是,如何保持用户从一个页面到另一个页面的点? 我应该使用cookies吗?或者有更好的存储“点”的方法吗?

2 个答案:

答案 0 :(得分:1)

我有一天创造了这样的测验。在我的例子中,重点是使用JSON来存储问题(json已经通过ajax从本地文件加载)和答案,因此我能够为用户随机选择问题,然后在js变量中保存正确答案/错误的数量。

<div id="question">Load question there</div>
<ul>
    <li id="answer-1">load first answer</li>
    <li>and so on...</li>
</ul>

使用jQuery.getJSON

轻松从文件加载json
$.getJSON('./questions.json', function(json) {
    // save json somewhere for futher use.
});

在测验结束后,我使用ajax加载带有测验摘要的页面,其中我准备了'锚点'以动态插入正确答案的数量。没有任何页面重新加载的一切。

但是你必须记住,Chrome浏览器不接受ajax的file://协议,因此这种方法在Chrome中不起作用。有关此问题的辅助信息可以在there找到。

答案 1 :(得分:0)

您可以查看HTML5本地存储空间:

http://diveintohtml5.info/storage.html

这将允许您在本地计算机上存储数据。 API比cookie更灵活,缺点是只能在最新的浏览器上运行。如果您还想支持旧版本,则需要使用polyfill。以下列表包含用于本地存储的polyfill:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

注意:您只能将数据保存到本地计算机,而不能保存到USB记忆棒。浏览器不允许您直接将数据保存到USB记忆棒,因此数据无法移植到另一台PC上。