您的位置:首页 > Web前端 > JQuery

jquery之浏览器检测

2012-09-06 13:22 253 查看
jquery检查浏览器类型,浏览器版本,浏览器支持的各自属性等.

(1)jQuery.support.属性名;。一组用于展示不同浏览器各自特性和bug的属性集合。

检查的属性如下:

boxModel: 如果这个页面和浏览器是以W3C CSS盒式模型来渲染的,则等于true。通常在IE 6和IE 7的怪癖模式中这个值是false。在document准备就绪前,这个值是null。

cssFloat: 如果用cssFloat来访问CSS的float的值,则返回true。目前在IE中会返回false,他用styleFloat代替。

hrefNormalized: 如果浏览器从getAttribute("href")返回的是原封不动的结果,则返回true。在IE中会返回false,因为他的URLs已经常规化了。

htmlSerialize: 如果浏览器通过innerHTML插入链接元素的时候会序列化这些链接,则返回true,目前IE中返回false。

leadingWhitespace: 如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。

noCloneEvent: 如果浏览器在克隆元素的时候不会连同事件处理函数一起复制,则返回true,目前在IE中返回false。

objectAll: 如果在某个元素对象上执行getElementsByTagName_r("*")会返回所有子孙元素,则为true,目前在IE 7中为false。

opacity: 如果浏览器能适当解释透明度样式属性,则返回true,目前在IE中返回false,因为他用alpha滤镜代替。

scriptEval: 使用 appendChild/createTextNode 方法插入脚本代码时,浏览器是否执行脚本,目前在IE中返回false,IE使用 .text 方法插入脚本代码以执行。

style: 如果getAttribute("style")返回元素的行内样式,则为true。目前IE中为false,因为他用cssText代替。

tbody: 如果浏览器允许table元素不包含tbody元素,则返回true。目前在IE中会返回false,他会自动插入缺失的tbody。

举例:if(jQuery.support.tbody){alert("包含tbdy元素");}

(2)jQuery.browsername;
检查是那种浏览器,目前只支持4种主流浏览器

IE:msie 火狐:mozilla 朱雀:opera 苹果的:safari

举例:if ($.browser.safari) { alert("this is safari!");}

(3)jQuery.browser.version;显示浏览器的版本号.

直接使用即可.

(4).jQuery.boxModel;当前页面中浏览器是否使用标准盒模型渲染页面。
建议使用 jQuery.support.boxModel 代替。W3C CSS 盒模型.

在 Internet Explorer 怪癖模式(QuirksMode)中返回 False。

代码举例:$.boxModel
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: