学习笔记:js、css、html判断浏览器的各种版本
js、css、html判断浏览器的各种版本
(转载自:http://www.jb51.net/web/42244.html 版权归原作者所有)
利用正则表达式来判断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判断浏览器的各种版本的更多相关文章
- Python3+Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )
!/usr/bin/env python -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记14(等待判断 鼠标事件 )'''from selenium im ...
- 前端学习:学习笔记(JS部分)
前端学习:学习笔记(JS部分) 前端学习:JS学习总结(图解) JS的简介 JS基本语法 JS内置对象 JS的函数 JS的事件 JS的BOM JS的DOM JS的简介 新建步骤 <body ...
- amazeui学习笔记--js插件(UI增强)--警告框Alert
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...
- amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown
amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...
- amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse
amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...
- HTML+CSS学习笔记 (7) - CSS样式基本知识
HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...
- amazeui学习笔记--js插件(UI增强2)--按钮交互Button
amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...
- 前端学习:学习笔记(CSS部分)
前端学习:学习笔记(CSS部分) CSS的学习总结(图解) CSS的引入方式和书写规范 CSS的插入方式_内嵌样式 <!DOCTYPE html> <html> <hea ...
- 使用window.navigator.userAgent属性判断浏览器类型及版本
使用window.navigator.userAgent属性判断浏览器类型及版本 2011-12-11 22:03:11 window.navigator.userAgent属性包含了浏览器类型.版本 ...
随机推荐
- iOS应用架构现状分析
iOS从2007年诞生至今已有近10年的历史,10年的时间对iOS技术圈来说足够产生相当可观的沉淀,尤其这几年的技术分享氛围无论国内国外都显得异常活跃.本文就iOS架构这一主题,结合开发圈里讨论较多的 ...
- HTML5标签学习之~~~
<article> 标签 article 字面意思为“文章”.在web页面中表现为独立的内容,如一篇新闻,一篇评论,一段名言,一段联系方式.这其中包括两方面,一为整个页面的主旨内容,另外就 ...
- java--常用类summary(三)
/* 1:正则表达式(理解) (1)就是符合一定规则的字符串 (2)常见规则 A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车 ...
- 230. Kth Smallest Element in a BST ——迭代本质:a=xx1 while some_condition: a=xx2
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it. Not ...
- 8种NOsql
虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举. 但是NoSQL数据库之间的不同,远超过两 SQ ...
- XHR2 和[FromBody]使用说明
[FromBody]必须是application/json 否则会报415 不支持的类型 //Forms function FormsPost(data) { //Default Type x-www ...
- win7 摄像头驱动软件找不到,只有sys文件
有的驱动只有sys文件,但是仍然可以在qq视频等用,只是找不到amcap.exe等可执行文件, 因为没有摄像头软件,下载一个安装上即可
- PowerMock使用遇到的问题——2
如果在测一个类的某一个方法时,这个方法还调用了此类的其他方法,那么如何指定其他方法的返回值呢? Partial mock local private method or public method i ...
- IBatis.net动态SQL语句(六)
在学习动态SQL语句之前,首先必须对条件查询有一定了解,先来学习如何向IBatis.Net的映射文件里传入参数. 一.条件查询 1.传递单个参数 如根据Id查询: <select id=&quo ...
- ubuntu 14.04 上安装有道词典
Ubuntu 14.04用户在安装前要更新系统,即update&dist-upgrade. 下载地址:32/64bits http://codown.youdao.com/cidian/lin ...