如何创建重新加载后不会消失的动态内容(使用jquery)

时间:2012-01-05 15:07:24

标签: jquery ajax

我只是计划创建一个投资组合网站,在继续之前我想看看我是否可以这样做

这是一个简化的例子:

我有一个按钮,然后单击我这样做

jQuery('<div/>', {
       text: 'something'
}).addClass("test").appendTo('#left');

效果很好, 但是,当页面刷新时,它会返回(不显示测试类)。如何以及什么是动态创建整个网站的最佳方式,但如果页面重新加载它仍然会在页面上有测试类

感谢

4 个答案:

答案 0 :(得分:2)

唯一的方法来自:

  • 数据库
  • 一个cookie
  • 生成的页面(可以缓存)
  • 通过ajax查询获取页面“更改”

请注意,示例中的“更改”是从客户端

完成的

答案 1 :(得分:1)

到目前为止,本地保存内容的最简单方法是使用HTML5 LocalStorage。

您可以将数据保存到对象:

var prefs = {
    div1: {
        text: 'something',
        class: 'test',
        parent: '#left'
    },
    div2: {...},
    ...
}

然后将此对象保存到localStorage:

localStorage.savedPrefs = JSON.stringify(prefs);

加载页面时,请检查此对象并采取相应措施:

if ('savedPrefs' in localStorage) {
    prefs = JSON.parse(localStorage.savedPrefs);
    // change page based on prefs
    // e.g. alert('div1 text: ' + prefs.div1.text);
}

请参阅:

答案 2 :(得分:0)

您必须通过实际回叫服务器(或设置Cookie)来改进“动态”生成的内容。

回调服务器需要使用以下任何地方:

  • 缓存页面(保存更改的副本)
  • 数据库更新(保留更改以供重复使用)
  • 或设置Cookie

答案 3 :(得分:0)

您的问题有两种解决方案:

  • 使用cookies
  • 使用html5本地存储
  • 使用网址(特别是#后面的内容)/地址行
  • db和其他东西:但它们需要服务器端支持

我通常使用地址行,因此深层链接也可以使用jquery地址插件http://www.asual.com/jquery/address/