首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在页面DOM更新后修改浏览器缓存?

问如何在页面DOM更新后修改浏览器缓存?
EN

Stack Overflow用户
提问于 2011-03-08 08:46:37
回答 1查看 792关注 0票数 5

到目前为止,我知道我可以使用AJAX分离静态和动态内容,所以如果博客文章有评论更新,文章就不必重新下载(它应该是304),只有注释。现在,我正在考虑坚持获取的动态内容,以便下次只需要新的评论。在不依赖Flash/Gears/ other 5存储或其他插件的情况下,有办法做到这一点吗?

编辑:假设文章的注释部分如下所示:

代码语言:javascript
复制
<div class='comments' id='comments'>
 <a name='comments'></a>
 <h4>43 comments:</h4>
 <dl id='comments-block'></dl>
 <p class='comment-footer'>
  <a href='http://example.org/postcomment' onclick=''>Post a Comment</a>
 </p>
</div>

在此上,获取注释的AJAX调用将它们附加到<dl id='comments-block'>,其中包含以下代码段:

代码语言:javascript
复制
<div class='comments-singleblock'>
  <dt class='comment-author' id='comment-5378479254070788764'>
    <a name='comment-5378479254070788764'></a>
      Anonymous coward
      <span class='comment-timestamp'>
        <a href='#comment-5378479254070788764' title='comment permalink'>
           5 February 2012 16:52
        </a>
      </span>
    </a>
  </dt>
  <dd class='comment-body'>
    <p>
      Your lorum is my ipsum, the dolor is sit amet us.
    </p>
  </dd>
  <dd class='comment-footer'>
    Which eternal lies, that is not death.
  </dd>
</div>

可以缓存。随后的AJAX调用应该只返回新的内容,并附加到上面。现在,当文章加载时,逻辑是这样的

不带时间戳的

  1. 第一次AJAX注释调用:获取所有注释直到当前时间戳A。这是缓存的。在新的时间戳B上,
  2. 时间传递给服务器,请求在时间戳A之后发送给服务器。这个调用可能被缓存,但没有意义,因为请求url从未被重用。
  3. 客户端现在已经更新了注释,直到时间戳B。但是只有时间戳A的内容是刷新文章,它提示第一个没有时间戳的评论请求,它应该返回缓存的评论直到时间戳A

。

因此,问题在于如何修改缓存的内容以包括时间戳A和B之间的内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 19:47:23

创建一个局部变量来存储ajax调用的JSON结果。

创建一个局部变量来存储Max_Last_Modified_Date。

创建一个javascript助手,它将绘制JSON结果。

创建一个服务器端处理程序,它将告诉您您的评论的最大(LastModifiedDate)。

创建一个服务器端处理程序,它将返回JSON中的注释

所有结果(第一个fetch)

  • anything和Max_Last_Modified_Date.

之后的修改日期)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5230185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档