前端防止浏览器缓存

作者: 小宇cool | 来源:发表于2020-08-18 10:14 被阅读0次

由于浏览器缓存的机制, 如果用户之前访问过网站, 那么浏览器会缓存该网站的css.js, 这些css. js 缓存为过期这期, 浏览器只会从缓存中读取css和js, 如果服务器上修改了 css 和js, 那么在修改用户的浏览器是不会有变化的

当浏览器发一个http请求时, 会加载各种各样的资源, 例如HTMl文档,视频,图片, css和js, 对于这些url不变的资源, 浏览器会将他们保存到本地缓存中, 下次访问相同网站是, 可以直接加载, 加速访问.

方法一: 用户可以按Ctrl+f5强制刷新网页, 或手动清除了浏览器的缓存, 此时浏览器会从服务器获取css和js 文件, 新的文化就会生效

方法二:给js标签或者LInk的src或href动态添加一个随机数,每次刷新页面都会生成一个不同的src, 此时浏览器就会把js这个js 当成新的资源向服务器发送请求, 获取资源.

<script >
    function dynamic(){
        let script = document.createElement('script'),
            Link =  document.createElement('Link');
        Link.setAttribute('rel','stylesheet');
        Link.href = 'index.css' + '?' + Math.random()
        document.head.appendChild(Link)
        script.src = 'index.js' + '?' + Math.random()
        setTimeout(()=>{
            document.body.append(script)
        })
    }
    dynamic()
</script>

原理:在资源的url后加是数字, 对于文件的加载并不会有任何影响. 但是如果数字发生改变, 浏览器就会认为这是一个全新的文件, 会重新下载缓存, 不会读取之前缓存的文件, 所以加数字的作用是强制浏览器调用新地址, 防止缓存.

相关文章

  • 前端防止浏览器缓存

    由于浏览器缓存的机制, 如果用户之前访问过网站, 那么浏览器会缓存该网站的css.js, 这些css. js 缓存...

  • 浏览器缓存?优点?清除方法?

    ☆前端优化:浏览器缓存技术介绍 - 简书 浏览器缓存(适用于前端解决缓存问题) - 简书 js清除浏览器缓存问题的...

  • 一文读懂http缓存(超详细)

    前端缓存 前端缓存可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自...

  • 前端缓存

    前端缓存 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • 一日一学_okhttp(本地缓存)

    在学习okhttp缓存策略之前,我先思考了web前端浏览器缓存的策略。浏览器缓存(客户端缓存),它分为强缓存和协商...

  • 浏览器缓存浅谈(强缓存与协商缓存的认知)

    谈到缓存时,大家想到的可能有浏览器缓存、CDN缓存、服务器缓存等,而浏览器缓存则是与我们前端开发最密切相关...

  • 浏览器缓存详解

    来源于《前端分享》 一、浏览器缓存策略: 1、强缓存 2、协商缓存 强缓存:当浏览器去请求某个文件的时候,服务端就...

  • 前端缓存大全

    前端缓存是我们前端开发中, 缓存是不可避免的知识点, 最近在复习缓存的知识, 整理了一下浏览器所有缓存类型, 希望...

  • 浏览器application中cache storage及app

    1、前言 前端缓存分为HTTP缓存和浏览器缓存,浏览存储也有很多方法,比如使用localStorage、sessi...

  • js基础常见问题总结(三)~

    web前端性能优化总结 浏览器访问优化 1、减少http请求,合理设置 HTTP缓存2、使用浏览器缓存3、启用压缩...

网友评论

    本文标题:前端防止浏览器缓存

    本文链接:https://www.haomeiwen.com/subject/sgehjktx.html