首页 新闻 会员 周边 捐助

如何让浏览器缓存动态创建的HTML

1
悬赏园豆:5 [已解决问题] 解决于 2015-08-02 12:14

比如在进行某些操作后,动态生成了一部分HTML(比如浏览商品列表时的按需加载,像手机淘宝那样),点击商品详情后,再点击返回按钮,这个时候需要出现之前动态创建的HTML,火狐可以自动缓存,但是Google好像不行,用微信测试了也不行,有没有方法让其他浏览器也自动缓存?

ludi的主页 ludi | 初学一级 | 园豆:5
提问于:2015-07-21 11:46
< >
分享
最佳答案
0

要不商品详情 也用ajax加载  ,这样的话 ,大家都在一个页面,通过隐藏显示控制哪个显示。

或者    返回按钮加个参数,值为最后一条商品的id,,,点击返回的时候 ,后台取值,返回此条商品之前的商品,

 

这个值通过 点击商品详情 获取,,再赋给 返回按钮

收获园豆:5
电磁魔王喵喵 | 小虾三级 |园豆:1343 | 2015-07-21 16:29

商品详情页特效太多,而且风格完全和列表页不一样,要加载的数据模块很多,理论上可行,但是实际没人会这样操作的

ludi | 园豆:5 (初学一级) | 2015-07-21 16:32

@ludi: 

商品页动态生成html 时顺便计算一下已加载商品的总数 count,

商品详情链接时    加个参数count=XXX,  www.xxx.com/goodsInfo?goodsId=xx&count=xxx

点击商品详情

后台将此参数加到 返回按钮的链接后  www.xxx.com?count=xxx

点击返回按钮 时,后台接收count ,加载count  条商品,返回页面

 

ps:算是另一种思路。那个缓存方式我也布吉岛

电磁魔王喵喵 | 园豆:1343 (小虾三级) | 2015-07-21 16:56

@小小幻: 其实在列表也做了个location.hash就能在返回的时候知道最初的页码,只不过因为全部的内容都是ajax加载的,隐藏只能取hash对应的页码,之前的ajax部分就出不来了,目前只有火狐货自动缓存ajax动态创建的HTML,其他浏览器都不会

ludi | 园豆:5 (初学一级) | 2015-07-21 17:04
其他回答(1)
0

你点击返回按钮的时候,页面应该重新加载的一遍,你可以在页面加载的时候,再动态生成html

弦断有谁听 | 园豆:20 (初学一级) | 2015-07-21 16:04

为了减少不必要的加载内容,所以选用AJAX无刷新分页的,就像淘宝那样,可以一直往下拉,按需加载,如果是刷新分页的话,就不用考虑这么多问题了

支持(0) 反对(0) ludi | 园豆:5 (初学一级) | 2015-07-21 16:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册