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

标签 jquery caching

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

粘贴下面的代码

<script src="jquery-1.3.2.js" type="text/javascript"></script>
<script src="jQuery.jCache.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
    $.jCache.maxSize = 20;
    function createDiv() {

        var divTemp = "<div><label>This is a Label</Label></div>";
        alert(divTemp);
        $(divTemp).appendTo("#divDisplay");
        $.jCache.setItem("myKey", divTemp);
    }

    $(document).ready(function() {


    if ($.jCache.hasItem("myKey")) {
        var cacheDiv = $.jCache.getItem("myKey");
            var cacheDiv = cacheDiv + "<a>anchor Tag</a>";
            $(cacheDiv).appendTo("#divDisplay");

        }
    }); 
</script>

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

这对我的整个功能来说都是一个亮点!

提前致谢, 沙条

最佳答案

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

对于您的特定应用程序,您需要(重新)设计它,以便不需要重新加载。这确实是 Ajax 的全部意义所在。我严重怀疑这对你来说是一个阻碍。在最坏的情况下,当用户重新加载页面时,您应该能够重新生成动态 div。如果您需要记住某些状态以便重新生成 div,cookie 可能适合您。

关于jquery - 页面刷新后如何保留div内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694191/

相关文章:

.net - 可以清除或禁用 .NET MethodInfo 缓存吗?

Javascript:动态改变正弦波速度

javascript - 如何在渲染 HTML 页面之前执行 JS?

asp.net - 如何缓存 ASP.NET 用户控件?

scala - Scala 的编译器缓存?

asp.net - ASP.NET 缓存的位置

javascript - 按下按钮时如何显示div的内容而不是值?

jQuery Transit 动画在 Firefox 或 IE 中不起作用

javascript - 动态加载的 div 的事件名称

ruby-on-rails - 如何创建第二个 Rails 内存存储缓存?