Modernier库介绍与应用.docxVIP

  • 3
  • 0
  • 约 10页
  • 2018-03-24 发布于贵州
  • 举报
Modernier库介绍与应用

HYPERLINK /JoannaQ/p/3281841.html Modernizr的介绍和使用 传统浏览器目前不会被完全取代,令你难以将最新的 CSS3 或 HTML5 功能嵌入你的网站。 Modernizr 正是为解决这一难题应运而生,作为一个开源的 JavaScript 库,Modernizr 检测浏览器对 CSS3 或 HTML5 功能支持情况。 Modernizr 并非试图添加老版本浏览器不支持的功能,而是令你通过创建可选风格配置修改页面设计。 它也可以通过加载定制的脚本来模拟老版本浏览器不支持的功能。 什么是Modernizr? Modernizr是一个开源的JS库,它使得那些基于访客浏览器的不同(指对新标准支持性的差异)而开发不同级别体验的设计师的工作变得更为简单。它使得设计师可以在支持 HYPERLINK / HTML5和CSS3的浏览器中充分利用 HYPERLINK / HTML5和CSS3的特性进行开发,同时又不会牺牲其他不支持这些新技术的浏览器的控制。 当你在网页中嵌入Modernizr的脚本时,它会检测当前浏览器是否支持CSS3的特性,比如 @font-face、border-radius、 border-image、box-shadow、rgba() 等,同时也会检测是否支持 HYPERLINK / HTML5的 特性——比如audio、video、本地储存、和新的 input标签的类型和属性等。在获取到这些信息的基础上,你可以在那些支持这些功能的浏览器上使用它们,来决定是否创建一个基于JS的 fallback,或者对那些不支持的浏览器进行简单的优雅降级。另外,Modernizr还可以令IE支持对 HYPERLINK / HTML5的元素应用CSS样式,这样开发者就可以立即使用这些更富有语义化的标签了。 Modernizr 简单易用,但不是万能的。 成功使用 Modernizr 很大程度上取决于你的 CSS 和 JavaScript 技能。 使用HTML 5和CSS 3的主要问题不是普及程度和浏览器之间的差异,而在于首先了解这些差异是什么。一旦搞清楚,开发人员就能够采用优雅降级(graceful degradation)技术解决这些局限性。为此,许多开发人员求助于开源项目Modernizr。 HYPERLINK /news/modernizr-2 Modernizr不是检测user-agent字符串,而是使用一系列测试来判断浏览器的特性。在几毫秒内它就能够执行超过40种测试并将结果作为属性记录在名为Modernizr的对象中。开发人员可以通过这些信息检测他们准备使用的某特性是否被浏览器支持并作出相应的处理。 HYPERLINK /news/modernizr-2 在Modernizr? HYPERLINK /news/modernizr-2 2.0版中, 它增加了一个针对JavaScript和CSS的条件资源加载器(conditional resource loader)。该资源加载器接受三个参数,第一个是表达式,列举了所需的特性。第二个参数是如果表达式返回true则加载的JavaScript和 CSS文件列表。第三个参数是所需特性不存在的情况下备用的文件列表。 除了优雅降级,加载器还可用于引入 HYPERLINK /docs/ \l polyfills polyfill。 请允许我向那些还不太熟悉pollyfill的朋友解释一下,pollyfill是“一种JavaScript垫片(shim),为老版本浏览器模拟了标 准API”。虽然这种方式不总是值得推荐,但是pollyfill能够用来添加(Modernizr检测到的)大多数HTML 5特性的支持。这里,polyfill 用来填补浏览器功能上的漏洞。 有时,Modernizr 可无缝地执行这项任务。 但本质上,这只是一种修补工作,所以,不能依赖它产生无漏洞浏览器所实现的完全相同结果。 为了改进性能,开发人员可以定制Modernizr来执行网站所需的测试。这可以通过 HYPERLINK /download/ Modernizr下载页面来完成,该页面同时显示了能够检测的特性列表。在github网站上还标有 HYPERLINK /Modernizr/Modernizr/wiki/Undetectables 无法检测的特性和可能的解决办法。 Modernizr是基于渐进增强理论来开发的,所以它支持并鼓励开发者一层一层的创建他们的网站。一切从一个应用了Javascript的空闲地 基开始,一个接一个的添加增强的应用层。因为使用了Modernizr,所以你容易知道浏览器都支持什么。 Modernizr的原理 Modernizr 使用 JavaScrip

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档