代码之家  ›  专栏  ›  技术社区  ›  patrick

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

  •  0
  • patrick  · 技术社区  · 15 年前

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

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

    这是我准备好的代码:

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

    当我单击提交按钮时,DIV将填充“这是一个测试”。当我按照链接到stackoverflow并单击“back”时,DIV将再次为空。当单击另一个页面时,如何使DIV保持不变,就像这样 <input> 元素是持久的(例如,如果我在 <input type='text'/> 然后按照链接,当我单击“上一步”时,文本仍然存在。)

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   Diodeus - James MacFarlane    15 年前

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

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

    “url散列”非常有用,也可以与ajax一起使用。

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