前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_CACHE_ON' => false,/ /禁止静态缓存 但是浏览器的缓存不可避免,通常的解决方法是页面中引入的外部css和js文件加上版本号 版本号规则一般都是自己约定的 通常是随机数 在这里我以当前时间戳作为版本号演示 在BaseController中 重写基类控制器Controller的displa…
在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css.js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量. 问题 现在问题来了,.htaccess设置的css.js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css.js,在这些css.js缓存未过期之前,浏览器只会从缓存…
参考打包教程: http://www.cnblogs.com/tugenhua0707/p/4069769.html http://www.cnblogs.com/tugenhua0707/p/4982646.html http://www.tuicool.com/articles/viequay https://github.com/Platform-CUF/use-gulp 实现要点: 1.如何运行gulp的任务,加入新建好一个如下任务: // 语法检查 gulp.task('jshint'…
HTML页面自动清理js.css文件的缓存,之前用的是?v=11每次都要找寻到网页进行更改,非常的麻烦. <script type="text/javascript"> document.write("<script type='text/javascript' src='js/xxxx?v="+new Date().getTime()+"'>"); </script> 以后先用这样自动方便些. 小技巧:1.自…
适用于小站点,这很极致,很快速~~ /** * Created by SevenNight on 2016/9/21 0021. * 插件功能:使用localStorage缓存js和css文件,减少http请求和页面渲染时间 * 使用方法: * 1.使用此插件前,需要给插件的pageVersion变量赋值,建议变量值由服务器后端输出,当需要更新客户端资源时,修改版本值即可. * 2.加载Js:由于js加载有顺序要求,所以需要将后加载的脚本作为前一个脚本的回调参数传入,如: * whir.res.…
由于cdn缓存,更改样式后会有一段时间不生效,解决方法就是给css,js加上版本号效果如下: 1.安装gulp插件 npm install --save-dev gulp-rev (version:9.0.0) npm install --save-dev gulp-rev-collector (version:1.3.1) npm install --save-dev run-sequence (version:2.2.1) 2.修改gulpfile.js文件 //引入gulp和gulp插件…
前言 最近在一家创业公司实习,主要负责新版官网和商家平台管理系统的前端开发和维护,每次测试都要上传文件到ftp服务器端测试,初期由于更新修改比较频繁,每次都是直接上传覆盖css.js.php文件,链接方式是普通的链接而没有添加时间戳.由于大多数服务器端或CDN都会对css.js和图片这些静态的内容设置缓存和gzip压缩,到了IE这里又会在本地做一个缓存.所以当我们在服务器端更新了css.js文件之后,客户端经常会出现没有更新的现象,即浏览器会缓存你网站之前css.js的一些版本,导致一些问题的出…
<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type="text/javascript" src="jb51.js?version=1.2.6″></script> <link rel='stylesheet' href='base.css?version=2.3.3′…
<span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script><link rel=’stylesheet’ href=’base.css?version=2.3.3′ type=’text/css’…
写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件,为了避免由于浏览器缓存的原因无法加载新的 css 或 js ,一般的做法是在资源文件的后面加上一个版本号来解决,这样浏览器就会去服务器下载新的资源文件. 如果某个 css 文件被多个页面引用,那么我们就需要去每个页面一个一个的去修改,这样做的方式属于重复性的动作,而且有的时候还会漏掉需要修改的页面,所以我们就需要一个自动管理资源文件版本号的功能 先看效果 如何实现 通过扩展HemHelper 类,添加 为 js 和 css 文…
客户端会缓存css或js文件,改变版本号,客户端浏览器就会重新下载新的js或css文件,在js或css后加?v= 版本号的用法如下 代码如下: <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script>…
web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服务器的压力. 但是有些时候缓存也会带来一些比较诡异的问题,呵呵.关于缓存的文章应该不在少数,不再讨论,本文的重点在于为js和css文件自动添加版本号. 这样做的原因是:首先对于js和css类型的静态文件设置了缓存机制,当文件被更新时,需要强迫浏览器下载修改后的新文件,也就是要更新缓存,而通过为js和…
背景 在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候, 浏览器就可以从浏览器的缓存中获取css.js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量. 问题 现在问题来了,.htaccess设置的css.js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css.js,在这些css.js缓存 未过期之前,浏览器…
方式一: 思路 string version = ViewBag.Version; @Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}?nocache=" + version + "\"></script>", "~/Scripts/ControlJS/PuzzleFee/PuzzleFee.js") 方…
let Version = new Date().getTime(); css: { // 是否使用css分离插件 ExtractTextPlugin extract: { //一种方式,打包后的css 会带版本号,不改变文件名的. filename: 'css/[name].css?v=' + Version, chunkFilename : 'css/[name].css?v=' + Version //一种方式,每次打包后的css文件名会变更新. filename: 'css/[name]…
现如今,浏览器大战下,各个浏览器也是拼了命的提高性能,升级JS解析引擎,更好的处理浏览器的页面缓存,让用户的浏览体验更快,占用更小的PC资源.那么,问题就出现在JS和CSS缓存,甚至页面缓存上.至于浏览器对页面的缓存,我们一般通过在服务端发送页面的时候设置页面的生存期,一般几个小时就能缓解很大的服务器压力,并且,对浏览者来讲,本地页面晚更新几个小时可能问题也不大.但,问题是,如果页面发生了更新,但是该页面链接的JS和CSS文件却被浏览器缓存下来,只有待浏览器重启后才能被删除,甚至有些浏览器重启后…
现在会进行代码的合并和压缩已成为前端人员的必备知识,那么现在来介绍一个grunt的工具.grunt是个风靡世界的工具,它的首页是  http://www.gruntjs.net 这是个中文网站,有文档可以参考.但是只看文档是不是觉得很蛋疼呢?一个字:看不太懂啊! 好了,废话不多说,直接发安装步骤和注意事项,都是心酸研究出来的啊... 这里介绍mac的安装方法.windows方法相类似,等我稍微研究一下后再发上来 首先,要安装nodejs,grunt是依赖node滴.上 www.nodejs.or…
原文地址http://blog.csdn.net/zanychou/article/details/8813076 <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script> <link rel…
当服务的修改了js和css内容后,发布到IIS服务器上,总是导致客户端内容显示不正确,原因是客户端存在缓存,还是加载的原来的js和css问题. 在css或js后面添加版本号,例如: <script src="1.js?v=1.0"></script> 当版本号改变时,客户端会重新读取新的文件,问题解决了. 但同时也带了另一个问题,每次修改后,都必须修改版本好,如果引用比较多的化,那么工作量也比较大,同样是个问题. 这里解决方法是配置一个版本号 步骤一:在web.…
本篇文章主要讨论下目前JS,CSS 合并.压缩.缓存管理存在的一些问题,然后分享下自己项目中用到的1个处理方案,并提供1个实例下载.   存在的问题: 合并.压缩文件主要有2方面的问题: 1. 每次发布的时候需要运行一下自己写的bat文件或者其他程序把文件按照自己的配置合并和压缩. 2. 因生产环境和开发环境需要加载的文件不一样,生产环境为了需要加载合并.压缩后的文件,而开发环境为了修改.调试方便,需要加载非合并.压缩的文件,所以我们常常需要在JSP中类似与下面的判断代码: 复制代码代码如下:…
问题描述:最近在上线新版本项目的时候,发现有的用户的操作还是调用的老版本JS里面的内容,这样就造成原来新的JS里面加上的限制不能限制用户的操作,从而导致用户可以重复操作. 问题产生原因: 如果在用户之前已经访问过系统,那么浏览器中会缓存该系统的CSS.JS,这些CSS.JS缓存未过期之前,浏览器只会从缓存中读取CSS和JS,如果在服务器上修改了css和js,那么这些修改在用户的浏览器中是不会有变化的. 解决方式一: 用户按Ctrl + F5强制刷新页面或者手动清空了浏览器的缓存.此时浏览器会重新…
今天在SpringMVC转发页面的时候发现跳转页面确实成功,但是JS,CSS等静态资源不起作用: 控制层代码: /** * 转发到查看培养方案详情的页面 * @return */ @RequestMapping("/2TrainSchemeDatail") public String forward2TrainSchemeDetail(@RequestParam(defaultValue = "1") String trainSchemeId, Model mode…
1 <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?version= ) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script> <link rel=’stylesheet’ href=’base.css?version=2.3.3′ type=’text/c…
有时候可能会遇到js或者css文件引用后传递参数: css和js带参数(形如.css?v=与.js?v=) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script> <link rel=’stylesheet’ href=’base.css?version=2.3.3′ type=’text/css’ /> 使用参数有两种可能: 第一.脚本并不存在,而是服务端动态生成的,因此带了个版本号,以…
Thinkphp5.0怎么加载css和js 问题 http://localhost/手册上的那个{load href="/static/css/style.css" /} 读取不到public 网上查了 在配置文件修改,还是无用 解答 我的成功解决问题的方式 万能的百度 一是把 public 目录指定到根目录这个配置 Apache 的 vhost 就可以然后 href 路径就可以从 /static 写起,如 /static/css/style.css 我是把vhost里面的主机配置到了…
文章转自:https://blog.csdn.net/yelbosh/article/details/47303247 <link rel="stylesheet" type="text/css" href="<c:url value='/scripts/jquery-fancybox/jquery.fancybox.css?v=2.1.4' />" media="screen" />   有时候可能会…
(1)参考资料   thinkphp5手册      视图--->输出替换 (2)方法(1)在我们的application中,找到config.php,在里面输入这样的配置: <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +----------------------------------…
前沿: 有些小伙伴们在页面(F12)直接对 JS.CSS 文件进行编辑.或者打断点调试的时候 可能会发现 所有的操作都不生效,为什么? 原因可能存在以下情况 有时候可能会遇到js或者css文件引用后传递参数:css和js带参数(形如.css?v=与.js?v=) <script type=”text/javascript” src=”jb51.js?version=1.2.6″></script> <link rel=’stylesheet’ href=’base.css?v…
一般情况下CSS不会直接影响JS的程序逻辑,但是以CSS实现动画的话,这个便不太确定了,这个故事发生在与UED迁移全局样式的过程. 曾经我有一段实现弹出层隐藏动画的代码是这个样子的: if (this.needAnimat && typeof this.animateHideAction == 'function' && this.status != 'hide') { this.animateHideAction.call(this, this.$el); } else…
接触Nodejs不深,看到页面上每一个链接都要写一个handler,像在页面显示图片,或者调用外部CSS.JS文件,每个链接都要写一个handler,觉得太麻烦,是否可以写个程序出来,能够自动识别图片.CSS.JS文件链接,以后要调用图片.外部CSS .JS只需要关心前端怎么写,而不用再管后台.于是有了下面的程序. index.js var http = require("http");//获取http对象 var url = require("url");//获取…