`

识别浏览器呈现引擎

 
阅读更多

 

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

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

写的好,大家要顶起哦

 

识别浏览器呈现引擎

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

现在主流的呈现引擎有五大种: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);
}
 

 

写的不好,大家不好说哦

哈哈

1
1
分享到:
评论

相关推荐

    JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)

    在上篇文章给大家介绍了基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统 ,感兴趣的朋友可以点击全文了解详情。 1、识别呈现引擎 引擎主要包含四种:IE、Gecko、WebKit...

    用户代理字符串检测脚本

    脚本通过检测用户代理字符串来识别浏览器。用户代理字符串能够检测出浏览器所用的呈现引擎及所在的平台,包括移动设备和游戏系统。但是,在检测用户端时,仍应先考虑使用能力检测和怪癖检测。

    解析file_get_contents模仿浏览器头(user_agent)获取数据

    什么是user agentUser Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。网站可以通过...

    Catfish(鲶鱼) CMS v4.9.9.zip

    自动识别CMS、Blog 等网站类型,只要简单的切换主题就可以完成网站类型的切换。 多语言支持,包括简体中文、繁体中文、俄语、德语、法语、韩语、日语、英语各种语言。 Catfish(鲶鱼) CMS v4.9.9更新日志 修正了...

    KMPlayer中文版 v4.2.2.21 中文正式版.rar

    * 图像增强引擎,4倍速驱动,降低画面噪点,锐利画质呈现,低画质视频照样全屏放。 * 多语言支持,支持英文,简体中文,繁体中文等。 更新日志 添加Web Search Bar 蓝光播放的支持 DIVX(xsub)字幕支持(AVI ...

    射手影音播放器_3.6.0.1849

     独创ShaderEngineTM图像增强引擎,4倍速驱动,降低画面噪点,锐利画质呈现,低画质视频照样全屏放 独创LiveColorTM彩色增强算法,画面色彩更艳丽 独创SmartAmplifyTM智能音场平衡技术,声效更显震撼 低消耗  独创...

    magma:构建同构应用的新方法

    客户端架构以类似的方式工作,除了模板引擎是浏览器本身。 组件由 JavaScript 构建。 客户端与服务器模板是当今正在进行的辩论。 Magma 提出了一种混合方法,利用两者的优点和缺点。这个怎么运作Magma 不是一个框架...

    兰大计算机安全技术离线作业答案.docx

    无论呈现给用户的网页有多么复杂,对于浏览器而言都只是可识别的网页代码(HTML、JavaScript、CSS等)。有的安全软件通过专业安全人员的分析可以获得钓鱼网站在网页代码层面的一些特征,通过特征的分析比对可以给...

    everything

    大家肯定对这种做法不会陌生,因为它正是搜索引擎的惯例。 举例:键入(不包括引号,下同)“李白 北京 08 jpg”,可以快速找出某些照片。 技巧:对应“与”的还有“或”(OR)运算,用半角竖线表示:|。当你不确信...

    ASP.NET的网页代码模型及生命周期

    生成.aspx页面对应的类后会将该类与cs文件中的类进行协调生成新的类,该类会通过IIS在用户浏览页面时呈现在用户的浏览器中。 4.1.4 创建ASP.NET Web Application ASP.NET网站有一种好处,就是在编译后,编译器将整个...

    vc++ 应用源码包_1

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_2

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_3

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_6

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 应用源码包_5

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

    vc++ 开发实例源码包

    服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现,自绘Button、Static的实现,其中自定了一个辅助主题风格类。 ...

Global site tag (gtag.js) - Google Analytics