如何清空浏览器的JS缓存

项目需求:请求一个网站时,浏览器会缓存JS,导致每次更新网站的代码后,不会自动更新JS,甚至需要手动去清空浏览器的缓存,但是用户不可能每次都清空缓存,这就要求我们要解决JS缓存问题。(添加版本号即可)

如果是单纯的 Javascript 或者 JQuery 引用,可以与“https://www.jianshu.com/p/ac76cfb9fad2”一样解决问题。

但是我们项目用了 require.js,我们就需要解决 require.js 的缓存问题

1、定义一个变量,可以全局调用

因为我们项目是用CodeIgniter框架(简称CI框架),所以在项目的xxx/application/core/MY_Controller.php 添加 “$this ->twiggy ->set('version',"1.0")”,为了可以在页面全局调用。

load->library('twiggy');
        $twigConfig = $this ->twiggy ->getConfig();
        $debug = $twigConfig['environment']['debug'];


        //全局变量:seo优化文本
        define("DOMAIN",$_SERVER['HTTP_HOST']);
        define("KAIKE_DOMAIN",'http://localhost:8086', true);

        $CI = &get_instance();
        $CI ->load ->config('seoText');
        $this ->twiggy ->set('seoText',$this->config->item('seoText'));
        $CI ->load ->config('DomainName');
        $this ->twiggy ->set('DomainName',$this->config->item('DomainName'));
        $this ->twiggy ->set('context_path',$this->config->item('context_path'));
        $this ->twiggy ->set('version',"1.0");//为了清空CSS、JS的缓存;每次上传代码,需要手动修改一次版本号,最好不要重复;从1.0开始
        $this ->twiggy ->set('debug',$debug);
    }
}

2、在 requirejs.config() 里面 使用全局变量 “urlArgs: "v={{ version }}"

xxx/application/views/common/scriptsCommon.html

    
    
    

xxx/application/views/home/index.html



    
        
        
        
        
        首页

        {% include 'common/scriptsnew.html' %}
    

    

    




4、效果图

图1

你可能感兴趣的:(如何清空浏览器的JS缓存)