如何在页面刷新后保留div内容

我正在使用Jquery创建一个动态div,我正在尝试缓存它,以便在页面刷新后将其恢复,请帮助如何实现此目的,

粘贴下面的代码

   $.jCache.maxSize = 20; function createDiv() { var divTemp = "
"; alert(divTemp); $(divTemp).appendTo("#divDisplay"); $.jCache.setItem("myKey", divTemp); } $(document).ready(function() { if ($.jCache.hasItem("myKey")) { var cacheDiv = $.jCache.getItem("myKey"); var cacheDiv = cacheDiv + "anchor Tag"; $(cacheDiv).appendTo("#divDisplay"); } });

我试图在页面中使用按钮单击绘制div,在页面中绘制单击div后,当使用F5单击刷新它时,div消失,有没有办法使用缓存机制保留div内容?

这对我的整个function来说都是一个绝迹!

谢谢,Shajo

最好的办法是跟踪div内容服务器端。 这样,每当用户更新div的内容时,可以进行AJAX调用以更新div的服务器端表示。

当页面第一次加载时,您的服务器可以预先填充div。 然后看起来好像页面在重新加载后保留div的内容。

这种类型的function现在在很多站点中使用,所以我确信它可以适用于您的场景。 看看这个网站(SO)。 当您投票时,您实际上是在浏览器上更改某些内容,即投票箭头的颜色。 如果你在颜色没有恢复后刷新,它会以某种方式记住你投了票。 那是因为当您单击投票箭头时,会进行AJAX调用,并且您投票的事实将记录在服务器上。

您可能误解了jCache的工作方式。 每当您(重新)加载页面时,缓存都会被有效地消除,因为浏览器将启动一个新的JavaScript执行环境。 这种浏览器行为是有道理的,因为它阻止了不同网站上的JS能够相互交互,从而产生了一个巨大的安全漏洞。 如果您使用jCache演示 ,可以通过填充演示缓存,重新加载页面并注意缓存是空的来测试此行为。

至于您的特定应用程序,您需要(重新)设计它,以便不需要重新加载。 这实际上是Ajax的重点。 我非常怀疑这对你来说是个噱头。 在最坏的情况下,您应该能够在用户重新加载页面时重新生成动态div。 如果您需要记住某些状态以重新生成div,Cookie可能适合您。