利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码_jquery

尤其是在当今各种浏览器满天飞(据说仅以IE为内核的浏览器就有200种之多)。
  小弟今天写了个基于jQuery的插件扩展,主要用于识别浏览器内核与外壳的类型和版本。可识别各种浏览器的内核,并已经支持多种国内主流浏览器。
  费话不多说,上我的JavaScript代码:(文件名:jquery.browsertype-1.0.js)

复制代码 代码如下:

/**
* jQuery插件开发方法二:第一步:插件定义
*/
jQuery.myPlugin = {
//获得浏览器的内核与外壳的类型和版本
Client: function (){
//浏览器内核类型(只有五种)
var engine = { ie:0, webkit:0, gecko:0, opera:0, khtml:0 };
//浏览器外壳类型(国内常见的浏览器有:360浏览器、傲游、腾讯QQ\TT浏览器、世界之窗、彗星浏览器、绿色浏览器、传统IE、谷歌Chrome、网景netscape、火狐、Opera、苹果Safari等等)
var shell = { se360:0, se:0, maxthon:0, qq:0, tt:0, theworld:0, cometbrowser:0, greenbrowser:0, ie:0, chrome:0, netscape:0, firefox:0, opera:0, safari:0, konq:0 };
//获得客户端浏览器的信息
var ua = navigator.userAgent.toLowerCase();
for (var type in engine) {
if (typeof type === 'string') {
var regexp = 'gecko' === type ? /rv:([\w.]+)/ : RegExp(type + '[ \\/]([\\w.]+)');
if (regexp.test(ua)){
engine.version = window.opera ? window.opera.version() : RegExp.$1;//浏览器内核版本
engine[type] = parseFloat(engine.version);
engine.type = type;//浏览器内核类型
break;
}
}
}
for (var type in shell) {
if (typeof type === 'string') {
var regexp = null;
switch(type) {
case "se360": regexp = /360se(?:[ \/]([\w.]+))?/; break;
case "se": regexp = /se ([\w.]+)/; break;
case "qq": regexp = /qqbrowser\/([\w.]+)/; break;
case "tt": regexp = /tencenttraveler ([\w.]+)/; break;
case "safari": regexp = /version\/([\w.]+)/; break;
case "konq": regexp = /konqueror\/([\w.]+)/; break;
case "netscape": regexp = /navigator\/([\w.]+)/; break;
default: regexp = RegExp(type + '(?:[ \\/]([\\w.]+))?');
}
if (regexp.test(ua)) {
shell.version = window.opera ? window.opera.version() : RegExp.$1 ? RegExp.$1 : 'unknown';//浏览器外壳版本
shell[type] = parseFloat(shell.version);
shell.type = type;//浏览器外壳类型
break;
}
}
}
//返回浏览器内核与外壳的类型和版本:engine为内核,shell为外壳
return { engine: engine, shell: shell };
}
};
/**
* jQuery插件开发方法二:第二步:执行插件
* jQuery.myBrowser插件:获得浏览器的内核与外壳的类型和版本
* 使用示例:
* (1)浏览器内核:alert("您的浏览器信息如下:\n内核类型:"+jQuery.myBrowser.engine.type+",内核版本:"+jQuery.myBrowser.engine.version);
* (2)浏览器外壳:alert("您的浏览器信息如下:\n外壳类型:"+jQuery.myBrowser.shell.type+",外壳版本:"+jQuery.myBrowser.shell.version);
*/
jQuery.myBrowser = jQuery.myPlugin.Client();

使用示例:(test.html)

复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>获得浏览器的信息</title>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4.2");
google.load("jqueryui", "1.7.2");
</script>
<script type="text/javascript" src="jquery.browsertype-1.0.js"></script>
<script type="text/javascript">
alert("您的浏览器信息如下:\n内核类型:"+jQuery.myBrowser.engine.type+",内核版本:"+jQuery.myBrowser.engine.version);
alert("您的浏览器信息如下:\n外壳类型:"+jQuery.myBrowser.shell.type+",外壳版本:"+jQuery.myBrowser.shell.version);
document.writeln("您的浏览器内核类型 ——>"+jQuery.myBrowser.engine.type+":"+jQuery.myBrowser.engine.version+"<br>");
document.writeln("您的浏览器外壳类型 ——>"+jQuery.myBrowser.shell.type+":"+jQuery.myBrowser.shell.version+"<br>");
</script>
</head>
<body>
<br/>测试浏览器的内核与外壳的类型和版本:<br/>
</body>
</html>

时间: 2024-09-01 17:47:22

利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码_jquery的相关文章

利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)_jquery

  <body> <div class="container demo"> <div class="big"> <p class="instructions">大图预览</p> <div class="bigframe"> <img width="300" height="300" src="imag

jQuery插件扩展extend的简单实现原理_jquery

相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的元素高亮,但是其中的一些思想,还是很值得学习的,可以戳这里查看代码. 本文不聊怎么写jQuery插件,我们聊聊怎么去实现jQuery的插件扩展功能,extend是怎么实现把我们写的插件挂载到jQuery上的.(大牛可以出门右拐......) 我们可以模拟创建一个迷你jQuery. var $ = {

jQuery插件扩展测试实例_jquery

本文实例讲述了jQuery插件扩展测试方法.分享给大家供大家参考,具体如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-

利用jQuery插件imgAreaSelect实现获得选择域的图像信息_jquery

还是先来分析一下: (以下的值,如何获得,以后在具体的实现中再来分析,现在只谈宏观的) 如何获得选择域的图像信息?  其实就是要我们如何获得这个选择区域,在图像中的那个位置,并且这个区域的大小是多少? 把位置和大小告诉了计算机,它就知道我们是要获取那一块的图像信息了. (我们的选择区域,是在一个平面当中,而且是一个规则的图形,正方形,或都矩形(通俗:长方形)) 大小: 这个区域的宽度,高度值,两值相乘,就是这个区域的面积,即大小.(这个应该不难) 位置: 1.假设我们只告诉计算机,这个选择区域一

PSD转HTML实例教程——利用JQuery插件实现图片滑动效果

之前一段时间,翻译了一些国外的PS网页设计教程,这些教程中都有一些共性,例如包含网页LOGO.导航菜单栏.图片滑动栏.版权信息等.其中在多个教程中都提到了利用JQuery插件实现图片滑动栏.于是在网上搜索了一番,发现类似的插件千千万万,都有各自的特色.故本教程挑选了其中的一个插件,进行讲解,并在后面结合实例讲解如何在PS中切片,在导出的网页中完成图片滑动栏栏的制作.   插件网址:http://slidesjs.com/ 插件示例网址:http://slidesjs.com/examples/s

利用Dreamweaver插件改变IE浏览器滚动条

dreamweaver|浏览器 做网页,常常觉得IE浏览器的滚动条与设计的网页不一致,就像好好的一锅汤,不小心掉了老鼠屎进去一样,严重影响了网页整体的美观.想尽办法去处理,却不尽人意,比如用弹出窗口,免不了造成浏览都点击放大按钮的麻烦,把滚动条去掉,可是它不适用于一屏显示不了的网页. 现在好了,这样的问题已经从一定的程度上得到了解决!让人讨厌的微软,做尽不少垄断事情的微软,还是从客户方向考虑增强软件的功能的,IE浏览器5.5以上版本已经允许人们设置样式表来改变滚动条的外观.来看看效果吧 现在我们

利用JS userAgent判断识别浏览器代码

利用Javascript userAgent信息检索适合浏览器之前新一也有发过.今天新一收集到更为简洁的小代码,可以封装成一个function来使用!很不错的效果. js的alert(navigator.userAgent.toLowerCase());方式获取浏览器的userAgent信息: 上面显示的只一串字符,我们如果要更人性化可以加一判断  代码如下 复制代码 var userAgentInfo = navigator.userAgent.toLowerCase(); var Agent

jQuery插件:跨浏览器复制jQuery-zclip

一.jQuery-zclip jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题. jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe Flash Player. 1.jQuery-zclip插件官网ZeroClipboard.swf下载地址 开源地址:https://github.com/patricklodder/jquery-zclip 2.jQuery-zclip用法 //引入jQuery-zc

利用jquery插件制作Tabs切换教程(1/2)

自动轮换,ajax等主要功能,然后是dom的排列形式,这里采用传统的 <div id="tabs"> <ul> <li><a href="#tabs1">tabs1</a></li> <li><a href="#tabs2" rel="ajax.htm">tabs2</a></li> </ul>