2013-11-15 74 views
-2

我开发了一个带有JQM的HTML5 webapp,我想实现的是在页面动态添加页面内容之后(前一页有一个按钮在点击后执行JS函数并且该脚本生成内容)刷新后,该内容不会消失,但会停留。在浏览器中更新页面后动态插入页面内容消失

如果这是不可能的,我应该将哪个事件绑定到将再次生成内容并将其放入此页面的脚本?如果这个问题重复,请将我的答案提交给我。自从多天以来,我一直在努力做到这一点,但仍然没有成功。任何意见将不胜感激!

+2

请不要在你的问题上发誓。 –

+0

对不起!它不会再发生。 –

回答

2

当页面刷新时,任何客户端上下文都是在那一点上不见了。考虑页面本身以及其中的所有JavaScript作为应用程序本身。刷新页面无异于关闭并重新打开应用程序。

鉴于此,在该页面中创建的任何上下文或状态在下次页面加载时需要可用时都需要保留在某处。有很多地方可以做到这一点。例如:

  • 服务器端代码
  • 饼干
  • 本地存储

既然你主要是谈论HTML5和JavaScript开发,本地存储可能是你最好的选择在这种情况下。有a handy guide here,可以让你开始,但快速谷歌搜索“HTML5本地存储”揭示更多。从本质上讲,你需要做的是:

  • 定义的一些数据,表示您希望网页加载期间保存
  • 写数据到本地存储任何时候状态改变状态
  • 阅读从数据本地存储在任何时候加载页面(因为您特别要求事件,文档的“就绪”事件可能就像大多数其他jQuery代码一样),并从该数据恢复页面的状态
+0

谢谢,大卫!这是一个非常有用的答案。 –

+0

文档的“准备好”事件是否也适用于单页面应用程序?我通过#导航到页面,例如。 G。 file:///C/exampleproject/index.html#page1 –

+0

@busuzima:可能很难说,没有看到上下文。文档的准备事件是当文档的结构完整且可用时,因此任何*之前的事件*需要仔细考虑,因为在文档继续构建时您可能遇到问题。如果对于界面的某些方面,您需要等到特定的引用内容也被加载(例如图像),那么稍后的事件可能会更好。不过,document.ready是一个很好的开始。 – David