有段时间没有清理IE的临时文件(缓存文件),在我清理的时候,我突然发现一个问题。

我打开的一个网站,图片默认缓存一个月的,但我发现,当我上传图片或删除图片之后,图片重新缓存,也就意味着,在我上传新图片或删除图片的时候,页面上所有原来的图片都重新载入,重新缓存了。

从这一点上看,图片本身的缓存一点意义都没有了。

我查看了网页的javascript代码,发现在上传或删除的之后,调用的是 location.reload();

难道说,这个location.reload()不仅重新载入页面,而且页面里的所有资源也将重新载入。

我到网上搜索了一下,说这个location.reload(boolean state); 有个参数可选,默认是false。

可经过我的测试不管是:location.reload() 还是 location.reload(true) 都会在刷新页面的时候,重新载入页面里所有的图片。就像他们的介绍所说,location.reload()相当于在网页上按了 F5键刷新。

可我目前的这个应用,只希望刷新页面内容,同时不要让之前已载入的缓存图片重新再次载入。

这个很重要,如果每次刷新都重新载入所有的图片,这对服务器来说,将会非常的浪费带宽和资源。

我在网上也看到另一种刷新页面的方式:location.replace();

window.location.reload() 或 document.location.reload(); //2种方式

我测试了一下,将 location.replace() 替换原来的 location.reload()之后,就可以达到更新页面内容的同时不再重新加载之前IE缓存中已存在的图片,这样图片本身的缓存才有意义。

2010-11-06

名品推荐:抹茶故事 一叶子 圣伽步

javascript:location.reload()和location.replace()的区别,及对图片缓存的影响。的更多相关文章

  1. window.location.reload(false);window.location.reload(true);history.Go(0)区别

    在日常工作中常用的页面刷新方式的区别: 1 window.location.reload(false);  先说说window.location.reload(false);当我们window.loc ...

  2. js 页面刷新location.reload和location.replace的区别小结

    reload 方法,该方法强迫浏览器刷新当前页面. 语法: location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前 ...

  3. 【js 方法】js 页面刷新location.reload和location.replace的区别 【转】

    [转]:http://zccst.iteye.com/blog/2162658 reload 方法,该方法强迫浏览器刷新当前页面. 语法: location.reload([bForceGet]) 参 ...

  4. location.reload() 和 location.replace()的区别和应用

    首先介绍两个方法的语法: reload 方法,该方法强迫浏览器刷新当前页面.语法: location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 fals ...

  5. location.reload() 和 location.replace()的区别和应用。

    首先介绍两个方法的语法: reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet])  参数:bForceGet, 可选参数, 默认为 false ...

  6. document.location.reload();与location.href='xxx'的区别

    document.location.reload();会重新加载页面,onload事件会被触发. location.href='xxx'刷新页面,onload事件不会触发.

  7. 解决安卓微信浏览器中location.reload 或者 location.href失效的问题

    在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会 存在问题,但早上测试的同学会提出了一个bug:在安卓手机的微信自带浏览器中,这个是失效的 ...

  8. js 刷新页面window.location.reload();

    Javascript刷新页面的几种方法:1    history.go(0)2    window.location.reload() window.location.reload(true) 3   ...

  9. window.location.reload();页面实现跳转和刷新

    1 history.go(0)2 location.reload()3 location=location4 location.assign(location)5 document.execComma ...

随机推荐

  1. Session配置之WebApi支持

    1.在WebApiConfig中建立建立HttpControllerHandler和HttpControllerRouteHandler 并覆写它 public class SessionRouteH ...

  2. 安卓开发helloworld

    https://blog.csdn.net/tangjie134/article/details/79495204

  3. M1阶段个人总结

    经过4周的开发,我们团队的第一阶段已经结束了. 这一个月来我由于其他事情较多,所以开发的工作主要交给了另外的三名同学. 我主要负责制定代码规范和工程结构,通过github来跟进项目进度,提供一些技术支 ...

  4. 《Linux内核分析》期终总结&《Linux及安全》期中总结

    <Linux内核分析>期终总结&<Linux及安全>期中总结 [李行之 原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc. ...

  5. Linux内核分析:期中总结

    第一章:计算机是如何工作的 计算机大部分都是用冯诺依曼体系结构,即存储程序计算机. 两个层面: 1.硬件: cpu(IP寄存器:指针,指向内存的某块区域)——总线——内存(代码与数据) 2.程序员: ...

  6. np.array与np.ndarray区别

    (Numpy中ndarray和array的区别是什么?我在哪儿能够找到numpy中相应的实现?) 答:Well, np.array is just a convenience function to ...

  7. python 中一些常用的内置函数

    一.常用内置函数 abs(x) 返回绝对值,参数为int float,非字符只能num all(iterable) 如果迭代对象里面的所有值都为真就返回True.all([1, 2, -7]) --- ...

  8. Maven的课堂笔记2

    5 maven的核心概念 5.1 项目对象模型 说明: maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包. ...

  9. Install Kernel 3.10 on CentOS 6.5

    http://bicofino.io/2014/10/25/install-kernel-3-dot-10-on-centos-6-dot-5/ https://gree2.github.io/lin ...

  10. centos7 服务操作命令

    systemctl list-unit-files --type service --all 操作防火墙: https://www.jianshu.com/p/411274f96492 操作VNC: ...