在页面之间保留 JavaScript 值
Persist JavaScript values between pages
我正在尝试使用HTML和JavaScript在网页上创建一个测验。 每个问题(有 4 个选项可供选择)都是一个单独的 html 文件,但使用相同的 JavaScript 文件来评估输入的选择是对还是错。
但是,我正在努力找到一种方法来跟踪用户提供的正确答案数量以计算他/她的分数。
有没有一种方法可以在JavaScript中创建静态或类似静态的变量?涉及 cookie 的解决方案也受到赞赏。
一种可能的解决方案是将问题文件中的 HTML 加载到父页面中,但将整个测验放在该页面上。 这样,您仍然可以灵活地为每个问题设置不同的页面,但对于浏览器来说,它们都是一个页面。 此外,在Javascript中创建或跟踪的任何变量将在整个测验中持续存在。
使用Jquery的.load
函数,这很容易做到。您在页面中间有一个div,它从您要导航到的任何HTML页面加载其内容。
请记住,对我来说,进入Javascript并更改正确答案的数量非常容易。 实际上,任何客户端解决方案都存在该问题。 如果这不仅仅是为了好玩,而且准确性很重要,您可能希望在每个问题之后将结果发送回您的服务器。 这样,无论您如何实施测验,结果都会保留在您的最后。
看看 http://www.electrictoolbox.com/jquery-cookies/这使您可以轻松设置和读取 Cookie。
您可以将数据保存在 cookie 中。 但是,用户可以更改cookie并产生更好的结果。在这种情况下,使用会话是更好的选择。因为无论您存储在客户端中的任何内容都是不安全的。
但是,最好使用 xhr 以 json 格式获取问题并将其显示在浏览器中并将跟踪保存在内存中
如果你正在开发一个HTML5应用程序,你可能希望研究DOM存储设施,如localStorage
和sessionStorage
https://developer.mozilla.org/en-US/docs/DOM/Storage:
以下是一些有用的资源/信息:
http://ejohn.org/blog/dom-storage/
http://viralpatel.net/blogs/introduction-html5-domstorage-api-example/
http://msdn.microsoft.com/en-us/library/cc197062(v=vs.85).aspx
这些天,我会专注于使其成为单页应用程序,而不是依赖页面加载。这不仅具有解决问题的优势,还意味着为用户提供响应更快、更快的体验。
如果您必须使用页面过渡,并且您乐于仅使用现代浏览器,请查看 localStorage。比 cookie 更容易使用和灵活 - 它就像序列化的 JavaSCript 对象一样工作。
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- Javascript和RegEx:拆分并保留分隔符
- 我创建了一个Javascript待办事项列表,但想知道如何在浏览器刷新后保留这些帖子
- 哪些关键字在JavaScript中保留,但在Java中不保留
- 使用 struts 标签和 Javascript 的动态行为保留表单中的值
- 在页面之间保留 JavaScript 值
- 获取所有输入字段并保留文本字段中的值,即使在使用 javascript 和 php 提交按钮后也是如此
- 使用javascript打开一个新的选项卡,但使用javascript保留在当前选项卡上
- 通过javascript保留文本区域换行符
- 比较两个数组,并通过使用 javascript 保留现有对象来更新新值
- 替换字符串值并使用 JavaScript 保留部分替换字符串
- 将javascript保留在外部 - 不起作用
- 在 html 中插入 javascript 保留表单
- 将 javascript 保留在新的 JavaScript 元素中
- 从html中剥离邮件正文,并使用Javascript保留格式
- Javascript保留小数点
- 通过Javascript保留页面更新并运行PHP代码
- javaScript保留关键字
- JavaScript -保留"textbox2"值,以便在刷新/重新打开页面后可用