很多网站中都会使用<script language="javascript" type="text/javascript" src="JS文件路径"></script>来包含要使用的JS的文件,使用JS与HTML代码分开,同样CSS样式也使用包含的方法,将样式文件引用到要使用的页面文件中,一般使用<link href="CSS样式表文件路径" rel="stylesheet" type="text/css" />,这些基本知识,做过网站的人都了解,这是最基础的知识。
       不过今天我所要说的不是这些东西,而是关于样式表以及JS文件缓存的问题,CSS样式表以及JS文件都是属于客户端可以直接访问的文件,一般都会被缓存到浏览器的缓存中,以便下次再次访问,不需要从服务器再次加载,但是这同样给开发人员带来一个问题,就是当更新样式表,JS文件,或者图片文件时(文件名不变)浏览器会因为缓存导致页面没有变化。当然现在很多缓存的模式可以通过程序设置,也可以通过浏览器设置,现在是当浏览器有缓存的时候,不清除浏览器缓存如何让客户端自动更新文件呢?其实很简单,浏览器判断缓存的方式就是根据文件名以及参数来判断的,如果文件名和参数名相同则使用缓存不从服务器加载,所以只需要加文件名后加个随机参数就可 了,这个方法可以适合所有的页面缓存。
       如原来的<link href="/index.css" rel="stylesheet" type="text/css" />可以改为<link href="/index.css?201307011200" rel="stylesheet" type="text/css" />   ?后面的就是参数,JS以及图片文件也可以用同样的方法,至于后面的随机参数怎么生成,可以根据你自己的方法来定,一般是使用随机数,或者当前的日期时间来做为参数。

关于网页文件中样式表及JS包含文件缓存的问题的更多相关文章

  1. CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器

    CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...

  2. TP引用样式表和js文件及验证码

    TP引用样式表和js文件及验证码 引入样式表和js文件 <script src="__PUBLIC__/bootstrap/js/jquery-1.11.2.min.js"& ...

  3. 问题-[Access]“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法

    问题现象:ado.net oledb方式访问Access数据库文件时报错“无法打开工作组信息文件中的表 'MSysAccounts'”的问题的解决方法  问题处理:1.数据库名称不能命名为:Syste ...

  4. UI标签库的话题:JEECG智能开发平台 BaseTag(样式表和JS标签的引入)

    UI标签库专题一:JEECG智能开发平台 BaseTag(样式表和JS引入标签) 1.BaseTag(样式表和JS引入标签) 1.1. 演示样例 <t:base type="jquer ...

  5. JavaScript进阶(二)在一个JS文件中引用另一个JS文件

    在一个JS文件中引用另一个JS文件       转载地址:http://blog.csdn.net/zndxlxm/article/details/7875787 方法一 在调用文件的顶部加入下例代码 ...

  6. 无法打开工作组信息文件中的表 'MSysAccounts',一个十分搞笑的解决方法

    问题提出:从access97导出一个mdb到access2000 为了程序使用命名为system.mdb,后改名为system.dat 在c#中打开,出现 无法打开工作组信息文件中的表 'MSysAc ...

  7. Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件

    第二条:类的头文件中尽量少引入其他头文件 使用向前声明(forward declaring) @class EOCEmployer 1, 将引入头文件的实际尽量延后,只在确有需要时才引入,这样就可以减 ...

  8. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  9. 将一个文件中的内容,在另一个文件中生成. for line in f1, \n f2.write(line)

    将一个文件中的内容,在另一个文件中生成. 核心语句: for line in f1: f1中的所有一行 f2.write(line)                                  ...

  10. java算法面试题:编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

随机推荐

  1. 编译报错出现原因以及处理方法之Error:(1, 1) java: 非法字符: ‘\ufeff‘

    问题 记录遇到的异常和总结处理的过程,希望能给到自己和别人帮助. Error:(1, 1) java: 非法字符: '\ufeff' 编译过程中出现报错Error:(1, 1) java: 非法字符: ...

  2. SQL 日常练习 (十四)

    最近的项目都比较忙, 没太有时间来做练习, 不过 sql 这块, 还是始终要保持良好的手感, 我已经渐渐感觉到, 随着写得越来越多, 当然不只是在这里, 更多是在工作中, 不过涉及信息安全不能共享. ...

  3. c++并发编程实战-第4章 并发操作的同步

    等待事件或等待其他条件 坐车案例 想象一种情况:假设晚上坐车外出,如何才能确保不坐过站又能使自己最轻松? 方法一:不睡觉,时刻关注自己的位置 1 #include <iostream> 2 ...

  4. Varlet UI-Material Design风格Vue 3框架移动端组件库

    Varlet UI是什么 在现代Web开发中,Vue 3以其强大的组件系统特性,成为了构建可复用.模块化应用界面的首选框架.而在Vue 3的生态系统中,Varlet UI开源组件库以其高效.一致和可维 ...

  5. 南昌航空大学-软件学院-面向对象程序设计第一阶段总结性blog——钟文君24201237

    目录 前言 1.关于知识点 2.关于题量 3.关于难度 设计与分析 第一次作业 我的设计 我的分析 第二次作业 我的设计(在第一次基础上的增加与改变) 我的分析 第三次作业 我的设计 我的分析 踩坑心 ...

  6. x86游戏逆向之实战游戏线程发包与普通发包的逆向

    网游找Call的过程中难免会遇到不方便通过数据来找的或者仅仅查找数据根本找不到的东西,但是网游中一般的工程肯定要发给服务器,比如你打怪,如果都是在本地处理的话就特别容易产生变态功能,而且不方便与其他玩 ...

  7. select * 和 select 字段的区别

    摘要:介绍 select * 和 select 字段的区别,建议各位不要使用 select * .   在千万级表中查询数据的时候,需要千方百计提升查询效率,为用户带来最爽的体验:业界各位大佬都提到 ...

  8. 最新版Navicat Premium v15.0.26 中文破解

    注册机和主要流程参考<Navicat Premium v15.0.25 中文最新破解版(附:激活工具)>,但是,要注意以下细节: 断网 重装navicat 将注册机放到Navicat Pr ...

  9. 使用 Certbot 申请 SSL 证书

    Certbot 可以用于从 Let's Encrypt 自动申请.安装.更新免费的 HTTPS 证书(默认只有3个月有效期,可使用脚本自动续期). 1.安装 Certbot Linux:apt ins ...

  10. Go Channel介绍

    一.简单说明 Channel是Go中的一个核心类型,可以看做是一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯. 1.1 操作符 这里Channel的操作符是箭头<-,箭头的指向就是数 ...