到目前为止,我知道我可以使用
AJAX分离静态和动态内容,因此如果博客帖子有评论更新,那么文章不必重新加载(它是304),只有评论.现在,我正在考虑保留所获取的动态内容,以便下次只需要请求新的注释.有没有办法在不依赖Flash / Gears /
HTML5Storage或其他插件的情况下做到这一点?
<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'>,其中包含以下代码段:
<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调用应仅返回新内容,并附加到上面.
现在加载文章时,逻辑就是这样
>没有时间戳的第一次AJAX注释调用:获取所有注释直到当前时间戳A.这是缓存的.
>时间在新时间戳B上传递,在时间戳A之后向服务器发送请求以进行注释.此调用可以被缓存,但是没有意义,因为请求URL永远不会被重用.
>客户端现在已经更新了注释,直到时间戳B.但是只缓存了时间戳A之前的内容.
>客户端刷新文章,该文章提示没有时间戳的第一个评论请求,这应该返回缓存的评论,直到时间戳A.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。