利用正则表达式来判断ie浏览器版本

判断是否IE浏览器

if (document.all) { alert("这个是ie浏览器");}

判断是否IE6浏览器

方法一:if ( /MSIE 6.0/ig.test(navigator.appVersion) ) {alert("这个是ie6浏览器");} 
或 /MSIE 8/.test(navigator.appVersion)

方法二:

var IE = !+'\v1';

IE6 = IE && ([/MSIE(\d)\.0/i.exec(navigator.userAgent)][0][1] == 6)

判断是否IE7浏览器

if ( /MSIE 7.0/ig.test(navigator.appVersion) ) {alert("这个是ie7浏览器“);}

根据以上判断IE浏览器,同理判断其它IE浏览器以此类推。

通过浏览器版本信息判断各浏览器

var _uat=navigator.userAgent; 
if(_uat.indexOf("MSIE 6.0")>0) alert("ie6"); 
else if(_uat.indexOf("MSIE 7.0")>0) alert("ie7"); 
else if(_uat.indexOf("MSIE 8.0")>0) alert("ie8"); 
else if(_uat.indexOf("Firefox")>0) alert("firefox");

CSS判断浏览器 
#example{color:red ;} /*firefox*/ 
* html #example{color:blue;} /*ie6*/ 
*+html #example{color:green;} /*ie7*/

HTML判断浏览器 
1. <!--[if !IE]><!-->除IE外都可识别<!--<![endif]--> 
2. <!--[if IE]> 所有的IE可识别<![endif]--> 
3. <!--[if IE 6]> 仅IE6可识别<![endif]--> 
4.<!--[if lt IE 6]> IE6以及IE6以下版本可识别<![endif]--> 
5. <!--[if gte IE 6]> IE6以及IE6以上版本可识别<![endif]--> 
6.<!--[if IE 7]> 仅IE7可识别<![endif]--> 
7. <!--[if lt IE 7]> IE7以及IE7以下版本可识别<![endif]--> 
8. <!--[if gte IE 7]> IE7以及IE7以上版本可识别<![endif]-->

HTML中css和js链接中的版本号

背景

在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。

问题

现在问题来了,.htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css、js,在这些css、js缓存未过期之前,浏览器只会从缓存中读取css和js,如果你在服务器上修改了css和js,那么这些更改在回头客的浏览器中是不会有变化的,除非回头客按了Ctrl + F5刷新了你的网站页面或者手动清空了浏览器的缓存。一个网站的访客成千上万,回头客也会有不少,你不可能在更新css后让每个访客都刷新一下缓存吧,那么这个问题你会怎么处理呢?

处理办法

1.更改css文件名:其实解决这个问题很简单,缓存是通过文件名标记缓存的内容的。在你更新了网站的css文件内容后,在更换一下css的文件名就可以了。如原先html中的css调用语句如下:

<link rel="stylesheet" href=“http://www.example.com/style.css” type="text/css" media="screen" />

改一下css文件名就可以了:

<link rel=“stylesheet” href="http://www.example.com/index.css" type="text/css" media="screen" />

另外一种从更改css文件名的方法是将版本号写到文件名中,如:

<link rel="stylesheet" href="http://www.example.com/index.v2011.css" type="text/css" media="screen"/>

css文件更新后,改一下文件名中的版本号即可:

<link rel="stylesheet" href="http://www.example.com/index.v2012.css" type="text/css" media="screen"/>

2.给css文件加个版本号:其实每次修改css文件后还要修改css的文件名有点麻烦,那么我们可以在加载css语句中加入个版本号(即css链接中?后面的内容)就可以了。如原先html中的css调用语句如下:

<link rel="stylesheet" href=“http://www.example.com/style.css?v=2011”type="text/css" media="screen"/>

改一下css文件的版本号改成2012就可以了:

<link rel="stylesheet" href=“http://www.example.com/style.css?v=2012”type="text/css" media="screen"/>

总结

其实css文件后面的问号起不到实际作用,仅能当作后缀,如果用问号加参数的方法,可以添加版本号等信息,同时可以刷新一下浏览器端的缓存。一个小小的细节,可以给我们带来很大的方便。

js、css、html判断浏览器的各种版本的更多相关文章

  1. 学习笔记:js、css、html判断浏览器的各种版本

    js.css.html判断浏览器的各种版本 (转载自:http://www.jb51.net/web/42244.html  版权归原作者所有) 利用正则表达式来判断ie浏览器版本 判断是否IE浏览器 ...

  2. 使用window.navigator.userAgent属性判断浏览器类型及版本

    使用window.navigator.userAgent属性判断浏览器类型及版本 2011-12-11 22:03:11 window.navigator.userAgent属性包含了浏览器类型.版本 ...

  3. js判断浏览器类型和版本

    原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgen ...

  4. JS判断浏览器类型与版本

    在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏 ...

  5. JS判断浏览器类型及版本

    浏览器 ie firefox opera safari chrome 分类: 一路辛酸---JavaScript 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, S ...

  6. js判断浏览器类型以及版本

    你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的 ...

  7. JavaScript判断浏览器类型及版本

    JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一 ...

  8. (转)JavaScript判断浏览器类型及版本

    IE 只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数.只要判断window对象存在ActiveXObject函数,就可以明确判断出当前浏览器是 ...

  9. jQuery判断浏览器类型和版本

    jquery 判断浏览器类型 例:   if($.browser.msie) { alert("这是一个IE浏览器"); }else if($.browser.opera) { a ...

随机推荐

  1. RDLC报表系列(三) 总计和折叠

    继续接上一篇的内容,本文主要是简述总计和折叠 1.在Dept列右击,选择插入行->组内部下方(每个部门的Total),插入新的一行,并拆分单元格,然后合并列 3.设置文本框属性,格式为Total ...

  2. zepto 获取select选中的值

    jQuery中典型的方法: $('option[selected]') 不管用,因为selected并不是CSS标准.   因此,在zepto中想要获取select元素中选中的option,需采取如下 ...

  3. HDU 1033 - Edge

    题目很水 然翻译感人 顺时针或者逆时针走,输出坐标 #include <iostream> using namespace std; ]; int p; ]={,,,-,}; ]={,,- ...

  4. 南阳师范学院ACM集训队博客使用方法

    南阳师范学院ACM集训队博客使用方法 为方便大家交流,我们使用的是同一个用户名和密码,所以请不要随意修改用户名和密码,不然大家都登不上了,谢谢! 首先进入主页:http://www.cnblogs.c ...

  5. python基础:映射和集合类型

    python字典的迭代器遍历 字典有一个方法可以返回该字典的迭代器,这个方法就是: dict. iteritems() 当在字典中增加或者删除字典entry的时候,迭代器会失效的,类似于C++的stl ...

  6. Python 自学笔记(二)第一个程序 Hello World

    一 打印 Hello world 1,输入 Python “Hello world” 即可 2,脚本文件输出Hello World 在命令行(cmd),输入 python 文件路径+文件名 3,为什么 ...

  7. LSD-FET430UIF与MSP-FET430UIF

    成功的破解了没人研究的东西很有成就感!世界需要这样的人!!!LSD-FET430UIF与MSP-FET430UIF?什么是MSPF149?网上查了很多这方面的资料,都没有,最后凭借我阅读PDF的精神和 ...

  8. CC EAL认证

    国际通用准则(CC) CC(Common Criteria)是国际标准化组织统一现有多种准则的结果,是目前最全面的评价准则.1996年6月,CC第一版发布:1998年5月,CC第二版发布:1999年 ...

  9. 三篇编译libcurl,附下载 good

    http://download.csdn.net/detail/flyliying/2982867 http://download.csdn.net/detail/wojiushiwo987/9113 ...

  10. struct和class 区别

    struct和class区别与联系 关于使用大括号初始化class和struct如果定义了构造函数的话,都不能用大括号进行初始化如果没有定义构造函数,struct可以用大括号初始化.如果没有定义构造函 ...