zoukankan      html  css  js  c++  java
  • 前端开发JavaScript清除浏览器缓存的方法

    查看和删除浏览器缓存的方法=====》打开

    最近在开发项目中发现有时候总要频繁地清除浏览器缓存,不然总是显示的过时的信息

    浏览器缓存有利有弊,有些数据需要缓存下来使得页面打开更快提高网站性能,但有些缓存内容又必须清除,缓存可能会导致一些错误数据被展示。

    介绍一些清除浏览器缓存的方法:

    方法一:利用meta标签

    <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
    <META HTTP-EQUIV="expires" CONTENT="0">

    这种方法很简单,但不是所有浏览器都支持的,像chrome这种强制使用缓存的浏览器就没有用

    方法二:jquery ajax清除浏览器缓存

    //用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Contro
    $.ajax({
         url:'www.haorooms.com',
         dataType:'json',
         data:{},
         beforeSend :function(xmlHttp){ 
            xmlHttp.setRequestHeader("If-Modified-Since","0"); 
            xmlHttp.setRequestHeader("Cache-Control","no-cache");
         },
         success:function(response){
             //do something
         }
         async:false
      });
    
    
    //直接用cache:false,
    $.ajax({
         url:'www.haorooms.com',
         dataType:'json',
         data:{},
         cache:false, 
         ifModified :true ,
    
         success:function(response){
             //do something
         }
         async:false
      });

    方法三:url后面加上随机数(字母)或者当前时间戳

    URL ?ran=" + Math.random();
    URL ?timestamp=+ new Date().getTime();

    方法四:在js后面加日期戳

    虽然看起来和url加随机数一样,但原理不同,这种最好所有js文件采用公共引入文件的形式,可以省去一些麻烦

    <script src="/res/js/plugins/metisMenu/jquery.metisMenu.js?${.now?string('yyyy-MM-dd')}"></script>

    方法五:后端处理

  • 相关阅读:
    LeetCode 350. Intersection of Two Arrays II (两个数组的相交之二)
    LeetCode 349. Intersection of Two Arrays (两个数组的相交)
    LeetCode 290. Word Pattern (词语模式)
    LeetCode 266. Palindrome Permutation (回文排列)$
    34.Search for a Range
    spark连接mongodb
    NLPIR中文分词器的使用
    scala和maven整合实践
    Spark中的键值对操作-scala
    301.Remove Invalid Parentheses
  • 原文地址:https://www.cnblogs.com/calamus/p/7615312.html
Copyright © 2011-2022 走看看