最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

jQuery笔记——工具函数——jQuery标志

来源:懂视网 责编:小采 时间:2020-11-27 20:16:49
文档

jQuery笔记——工具函数——jQuery标志

jQuery笔记——工具函数——jQuery标志:jQuery定义了很多工具函数,这些函数的命名空间为$,但不操作包装集,用户可以把它看作是顶层函数,不同之处是他们定义在$实例上,而不是定义在window实例上,类似于静态类型函数。通常来说,工具函数的主要任务是操作除DOM意外的JavaScript对象,或执行
推荐度:
导读jQuery笔记——工具函数——jQuery标志:jQuery定义了很多工具函数,这些函数的命名空间为$,但不操作包装集,用户可以把它看作是顶层函数,不同之处是他们定义在$实例上,而不是定义在window实例上,类似于静态类型函数。通常来说,工具函数的主要任务是操作除DOM意外的JavaScript对象,或执行

jQuery定义了很多工具函数,这些函数的命名空间为$,但不操作包装集,用户可以把它看作是顶层函数,不同之处是他们定义在$实例上,而不是定义在window实例上,类似于静态类型函数。

通常来说,工具函数的主要任务是操作除DOM意外的JavaScript对象,或执行一些非对象相关的操作。

jQuery通过定义在$上的变量为开发人员提供一些有用的客户信息,通过这些标志信息可以方便的检测当前浏览器的功能,以便用户基于这些信息进行决策。

这些标志信息包括:jQuery.browser、jQuery.boxModel和jQuery.support

一、检测用户代理

浏览器检测方法:

1. 字符串检测法:根据navigator.userAgent属性返回值进行检测。but,jQuery从1.3版本就不再支持使用这种方法了,原因:使用麻烦,与jQuery的灵巧特色相违背。

2. 特征检测法:根据浏览器是否支持特定功能来决定操作方式。

非精确,最安全

如果不关心浏览器的身份,仅在意浏览器的执行能力,那么使用这种方法足矣。

例如:

 var a;
 if(document.getElementsByName){ //如果存在getElementsByName,则使用该方法获取a元素
 a = document.getElementsByName("a");
 }
 else if(document.getElementsByTagName){ //如果存在getElementsByTagName,则使用该方法获取a元素
 a = document.getElementsByTagName("a")
 }

当使用对象,方法或属性时,可以先检测当前浏览器是否支持它。在逻辑表达式中,如果浏览器支持,则会返回该对象,属性或方法,这是JavaScript就会强制把这些对象或成员转换为true。如果不支持,则会返回undefined,JavaScript会自动把它转换为false。

注意:检测方法或函数时,不要加小括号,否则JavaScript解释器会调用该方法或函数,同时如果指定函数伙房发不存在,会产生编译错误。

检测浏览器类型:

js:var browser = navigator.userAgent;

jQuery: browser属性。允许检测4个最流行的浏览器类,如:Internet Explorer 、Mozilla、Webkit、Opera,以及每个版本信息标志。

可用标志包括:webkit、safari(deprecated)、opera、msie和mozilla。

$.browser 属性在jQuery 1.9已经被移除。用于返回用户当前使用的浏览器的相关信息。

不建议使用该属性来检测浏览器,因为它是根据navigator.userAgent属性来确定浏览器信息的,因此它的识别并不一定准确。

二、检测盒模型

jQuery.boxModel:标志可以获取当前页面使用的是哪一种盒模型。true:W3C标准盒模型;false:IE浏览器的盒模型

jQuery1.0 新增该静态属性;1.3中被标记已过时,请使用 jQuery.support.boxModel替代;1.8中被移除。

除IE浏览器外,其他浏览器都支持W3C标准盒模型,而IE浏览器能够根据页面模式(严格模式或怪异模式)有选择的使用不同类型的盒模型。如果页面顶部声明了文档类型(DOCTYPE),则IE也会采用严格模式,即W3C标准盒模型解析元素。如果文档当中没有包含文档类型(DOCTYPE),或者包含了无法识别的文档类型声明,即会以怪异模式显示,并按IE的传统的盒模型来解析元素。

IE传统的盒模型和W3C标准盒模型的区别:

1.IE传统盒模型:width和height属性包含内边距和边框宽度

2.W3C标准盒模型:width和height属性不包含内边距和边框宽度

用JavaScript检测盒模型:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title>检测盒模型[JavaScript]</title>
 <script src="js/jquery2.1.3.min.js"></script>
 <script type="text/javascript">
 function isBoxModel(){
 var p = document.createElement("p");
 p.style.width = p.style.paddingLeft = "1px";
 document.body.appendChild(p);
 var width = p.offsetWidth;
 p.style.display = "none";
 document.body.removeChild(p);
 return width === 2;
 }
 window.onload = function(){
 alert(isBoxModel() && "支持W3C标准盒模型" || "支持IE的怪异解析模式");
 }
 </script>
</head>
<body>
</body>
</html>

三、检测功能或缺陷

jQuery的support属性:

返回一个Object对象,在该对象中包含了一组属性,他们代表了不同的浏览器功能或缺陷的存在的合集。

该对象的属性并不是一成不变的,jQuery也并不保证指定的属性在未来的版本中一定可用,这些属性主要供插件或内核开发人员使用。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

jQuery笔记——工具函数——jQuery标志

jQuery笔记——工具函数——jQuery标志:jQuery定义了很多工具函数,这些函数的命名空间为$,但不操作包装集,用户可以把它看作是顶层函数,不同之处是他们定义在$实例上,而不是定义在window实例上,类似于静态类型函数。通常来说,工具函数的主要任务是操作除DOM意外的JavaScript对象,或执行
推荐度:
标签: 工具 笔记 函数
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top