在(持久切换)jQuery中访问其他页面时的持久内容

Posted

技术标签:

【中文标题】在(持久切换)jQuery中访问其他页面时的持久内容【英文标题】:Persistent content when visiting other page in (persistent toggle) jQuery 【发布时间】:2010-10-08 15:09:32 【问题描述】:

当我使用切换或其他任何功能更改站点的内容时,不会保存状态。所以,如果这是我的页面:

<div id='test'></div>
<input type='submit' value='test'>
<a href='http://www.***.com'>link to elsewhere</a>​

这是在我的现成代码中:

$(':submit').click( function() 
  $('#test').text( 'this is a test' );
);

当我单击提交按钮时,div 将填充“这是一个测试”。当我点击指向 *** 的链接并单击“返回”时,DIV 将再次为空。单击另一个页面时如何使 DIV 持久化,就像 &lt;input&gt; 元素持久化的方式一样(即,如果我在 &lt;input type='text'/&gt; 中输入文本并点击链接,当我单击“时文本仍然存在”返回')

最终我想保存切换的状态...或者我应该使用cookies来解决这个问题,这意味着我必须编写自己的切换功能,这不是一个大问题,但我宁愿不使用cookies...人们仍然偏执

【问题讨论】:

【参考方案1】:

是的,您可以使用 cookie、url 哈希,或者您可以将状态作为字符串存储在“window.name”中。当然,无论您将状态存储在何处,您都需要在加载时获取它并将状态重置为原来的位置。

window.name 的一个好处是你可以在其中存储整个 html 页面,然后将它们重新加载回 DOM,包括以前的状态。当然,其他页面可能会覆盖“window.name”,所以当这种情况发生时你需要一个计划 B。

“url hash”非常有用,也可以与 AJAX 一起使用。

阅读更多:http://code.google.com/web/ajaxcrawling/docs/specification.html

【讨论】:

以上是关于在(持久切换)jQuery中访问其他页面时的持久内容的主要内容,如果未能解决你的问题,请参考以下文章

用于服务器拉取 FB 页面信息的持久 FB 访问令牌

iOS:从 JSON 切换到 CoreData 以保持本地持久数据;这实用吗?数组内字典 数组内字典

如何刷新页面并保持元素不刷新(持久),直到用户单击提交?

关于cookie(会话cookie与持久cookie)

Jquery Mobile 持久页脚 - 更改所有页面上的内容

持久的 jQuery 倒计时