coding++ :在引入的css或者js文件后面加参数的作用
前沿:
有些小伙伴们在页面(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?version=2.3.3′ type=’text/css’ />
使用参数有两种可能:
1):脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。
即上面代码对于文件来说 等价于<script type=”text/javascript” src=”jb51.js”></script> <link rel=’stylesheet’ href=’base.css’ type=’text/css’ />
但浏览器会认为他是 该文件的某个版本!
2):客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用。
大家可能有时候发现修改了样式或者js,刷新的时候不变,就是客户端缓存了css或者js文件,因此加上参数还是有好处的!
第二种情况最多,也可能两种同时存在。
版本号,可以是一个随机数,也可以是一个递增的值,大版本小版本的方式,或者根据脚本的生成时间书写,
比如 20080727182553 就是精确到了生成脚本的秒,而 2.3.3 就是大版本小版本的方式。
第一次升级:
<script src="aaa.js?v=1.0"></script>
第二次升级:
<script src="aaa.js?v=1.1"></script>
第三次升级:
<script src="aaa.js?v=1.2"></script>
……
其中,“v”只是一个名称而已,随便取。这个解决方法跟ajax请求地址后面添加随机数的原理一样,让浏览器认为访问不同的地址,这样就不会使用缓存的文件了。
比如新浪首页在2010年4月5日改版,只是改变CSS样式表,可以在CSS后面,诸如.css?2010.4.5,这样没清理缓存的用户打开新浪首页就不会还是以前的样子,当服务器在读取CSS文
件时候会重新读取最新的2010.4.5的。
总之而言:在后面追加参数就是为了刷新缓存 相对来说比较安全,根据自己的需求而做。
coding++ :在引入的css或者js文件后面加参数的作用的更多相关文章
- 在引入的css或者js文件后面加参数的作用
有时候可能会遇到js或者css文件引用后传递参数: css和js带参数(形如.css?v=与.js?v=) <script type=”text/javascript” src=”jb51.js ...
- CI框架引入外部css和js文件
首先在项目根目录下建立assets文件夹,在这个文件夹下再建立css和js文件夹分别放置css和js文件 然后,在项目根目录下建立.htaccess文件 内容如下: RewriteEngine on ...
- Tornado引入静态css、js文件
一.静态路径 template_path=os.path.join(os.path.dirname(__file__), "templates") 这里是设置了模板的路径,放置模板 ...
- css或者js文件后面跟着参数
以前一直不懂,看到某某网站上面css链接 ?v=20130203类似这样的 后来发现是为了避免浏览器读取缓存而采取的强制刷新缓存的办法. “比如新浪首页在2010年4月5日改版,只是改变CSS样式表, ...
- welcome-file-list设置问题之css,js文件无法加载
web.xml里的welcome-file-list里设置默认访问页面为/html/index.html 但是在访问时,页面CSS都没加载. 正常输入网址却没问题.用/html/index.jsp也没 ...
- 使用时间戳引入css、js文件
前言 最近在一家创业公司实习,主要负责新版官网和商家平台管理系统的前端开发和维护,每次测试都要上传文件到ftp服务器端测试,初期由于更新修改比较频繁,每次都是直接上传覆盖css.js.php文件,链接 ...
- JQuery 加载 CSS、JS 文件
JS 方式加载 CSS.JS 文件: //加载 css 文件 function includeCss(filename) { var head = document.getElementsByTagN ...
- Gulp实现css、js、图片的压缩以及css、js文件的MD5命名
目前做代码压缩合并的工具有很多,诸如gulp,webpack,grunt等等,可以说这些项目构建工具的功能非常之强大:图片压缩.图片转base64.css和js的压缩以及合并,文件的md5重命名 -- ...
- Thymeleaf模版--子页面单独引入CSS、JS文件
https://blog.csdn.net/u010392801/article/details/80465800 ****************************************** ...
随机推荐
- scrapy post payload的坑及相关知识的补充【POST传参方式的说明及scrapy和requests实现】
一.问题及解决: 在用scrapy发送post请求时,把发送方式弄错了. 本来应该是 application/x-www-form-urlencoded 弄成了application/json. 但 ...
- 配置github——每次提交后使contributions有记录(有小绿格子)
# 配置github--每次提交后使contributions有记录(有小绿格子) 这几天都有将自己的代码提交到github上,但是在profile里的contributions的表格中没有我提交的记 ...
- git指令-工作区和暂存区
#git指令-工作区和暂存区 工作区(Working Directory):就是平常电脑可以看到的文件夹目录 版本库(Repository):存放git内容的文件夹例如: Git的版本库里存了很多东西 ...
- 关于Sprites的一些理解
今天做测试,遇到一道选择题. 瞬间一脸懵逼,sprites是什么?通过对各选项的分析,大致明白了几点:1.它是css属性.2.它与图片有关.3.它是背景图片.然后就选了一个大概不靠谱的,成功的选错了. ...
- Deepin环境下启动Pycharm没有启动图标解决办法
小伙伴们在deepin下运行pycharm时,是不是需要通过sh文件启动? 下面告诉大家如何将pycharm图标放在桌面上: 1.在桌面打开终端,输入命令: sudo gedit /usr/share ...
- JavaScript判断一个对象是否为空
本文介绍了判断一个对象是否为空的几种方法 测试用例 test1 = 1; test2 = {}; test3 = {a:1,b:2} 1. 判断Object.keys()的长度 function _i ...
- python之三元表达式,列表|字典推导式,函数对象
#### 三元表达式: 就是if....else...的语法糖 # -- 1) 只能解决if...else...结构,其他if分支结构都不管 # -- 2)一个分支提供一个结果: 如果一个分支提供了多 ...
- HashSet底层、及存入对象时候如何保持唯一
HashSet底层.及存入对象时候如何保持唯一 在JDK1.8之前,哈希表底层采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里. 但是当位于一个桶中的元素较多,即hash ...
- WEB渗透 - 万能密码
asp万能密码 'or'='or' aspx万能密码 1: "or "a"="a 2: ')or('a'='a 3:or 1=1-- 4:'or 1=1-- 5 ...
- ggplot2(9) 数据操作
9.1 plyr包简介 ddply {plyr}: Split data frame, apply function, and return results in a data frame. ddpl ...