识别浏览器呈现引擎

 

好久没有写很深入的文章了。

这天看到别人写的文章,突发灵感,准备写写关于浏览器呈现引擎的文章

写的好,大家要顶起哦

 

识别浏览器呈现引擎

什么是呈现引擎,网上可以查到专业词汇,我这里就不说明了。

现在主流的呈现引擎有五大种:IE,Gecko,Webkit,KHTML和Opera

不同的呈现引擎,对同一段html会有不同的效果,怎么识别他们就成了跨平台的

必须解决的问题。

识别以上的引擎主要方法,都是通过解析用户代理字符串来实现鉴别和判断的

 

先拿最麻烦的Opera来说。

要识别Opera,就必须的检测window.opera对象。Opera 5及更高的版本中都有这样的对象,

以保持与浏览器相关的标识信息以及与浏览器直接交互。在Opera 7.6及更高版本中,调用

version()方法可以返回一个表示浏览器版本的字符串,而这样也是获得Opera版本好的最佳方式

说以我们可以这样操作

 

 

if(window.opera){
	engin.ver = window.opera.version();
	engin.opera = parseFloat(engin.ver);
}

 

 

 

好了。搞定Opera

下面说说Webkit,对于怎么判断他最简单的方法就是判断独一无二的AppleWebkit,具体的

 

 

var ua = navigator.userAgent;

if(/AppleWebkit\/(\+S)/.test(ua)){
	engin.ver = RegExp["$1"];
	engin.webkit = parseFloat(engin.ver);
}

 对于KHTML来说,和webkit差不多,但在早期的时候KHTML是用KHTML来判断的,以后是用Konqueror

 

进行处理的

 

var ua = navigator.userAgent;
if(/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua){
	engin.ver = RegExp["$1"];
	engin.khtml = parseFloat(engin.ver);
}

 同理下去:

Gecko也是如此

var ua = navigator.userAgent;
if(/rv:\/([^\]+) /Gecko\/\d{8}/.test(ua)){
	engin.ver = RegExp["$1"];
	engin.gecko = parseFloat(engin.ver);
}
 下面处理IE
  对于IE来说,IE的版本号位于字符串MSIE的后面,一个分好的前面因此相应的正则表达式
  就非常的简单了
  如下:

 

var ua = navigator.userAgent;
if(/MSIE ([^;]+)/.test(ua)){
	engin.ver = RegExp["$1"];
	engin.gecko = parseFloat(engin.ver);
}
 

 

写的不好,大家不好说哦

哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值