Modernizr
来源:互联网 发布:光纤网络哪家好 编辑:程序博客网 时间:2024/06/04 16:40
什么是Modernizr?
Modernizr 是一个用来检测浏览器功能支持情况的 JavaScript 库。 目前,通过检验浏览器对一系列测试的处理情况,Modernizr 可以检测18项 CSS3 功能以及40多项关于HTML5 的功能。 它比传统检测浏览器名称(浏览器嗅探)的方式更为可靠。 一整套测试的执行时间仅需几微秒。 此外,Modernizr 网站通过定制脚本只对你感兴趣的元素进行检测,从而实现效率优化。
当使用 Modernizr 检测 CSS3 支持情况时,你无需具备任何 JavaScript 的知识。 你仅需在网页中插入文件,它随即根据浏览器的功能情况在页面的<html>标签上添加一组类。 相应类的名称已经符合标准化的要求并浅显易懂。 例如,如果浏览器支持 box-shadow 属性,则需要添加相应的 boxshadow 类;否则,添加一个 no-boxshadow类即可。 你所要做的一切只不过是创建一个使用这些类的式样表,以便为相应浏览器提供合适的式样。
Modernizr 可轻松实现 JavaScript 解决方案,即人们熟知的 polyfills——它模拟HTML5 相关功能和技术,如地理定位。 然而,你的确需要对 JavaScript 有基本了解以便使用这些功能和技术。 术语polyfill 来源于一种填补裂缝的黏土的英国品牌Polyfilla(即美国人熟知的填泥料)。 这里,polyfill 用来填补浏览器功能上的漏洞。 有时,Modernizr 可无缝地执行这项任务。 但本质上,这只是一种修补工作,所以,不能依赖它产生无漏洞浏览器所实现的完全相同结果。
下载 Modernizr
与其它 JavaScript 库相同的是,Modernizr 可提供 development 和 production 版本。 与大多数库相比,唯一的不同之处是,空格和注释已经从 production 版本中删除了,这样可以减少下载量的大小。 Modernizr 采取了不同的方法。 development 版本在某种意义上可称为是“厨房中的水槽”—它几乎包含了一切。 production 版本只包含了你选择的那些元素,这样能够显著降低下载量。 在很多情况下,production 版本可以缩小为development版本大小的二十分之一。
当使用 Modernizr 进行测试时,我建议你下载 development 版本。 一旦你掌握了它是如何运作的以及它的能力,你就可以下载一个自定义 production 版本以便在你的网站进行部署。
本教程的示例文件包含的是 Modernizr的development 2.0.6 版本,但是我建议你从 Modernizr 站点上用最新更新的版本替代它。
- 下载本文附带的示例文件(使用modernizr.zip)并且在 Dreamweaver 站点内将它们解压到一个方便的位置,或者是为本教程创建一个新站点。
- 访问 Moderniz 网站,其地址为 http://www.modernizr.com/ 。
- 在 Download Modernizr 2 部分中,单击 Development 按钮(参见图1)。Modernizr 的 development 版本就会直接在你的浏览器窗口上打开。
图1. 选中development版本以便进行Modernizr测试注: 如果你错误地单击了主导航菜单中的 Download 链接,那么你将看到大量的复选框出现,要求你去选择你想要的工具。 这是为定制的 production 版本所设置。 单击面板顶部的 Development 版本的链接,或者单击浏览器的 Back 按钮返回主页并选中图1所示的 Development 按钮。
- 在浏览器的主菜单上,选中 Save Page As,并在示例文件的js文件夹里将它另存为 modernizr.js。如果有必要的话可以替换已有的文件。
使用 Modernizr 检测 CSS 功能
如前所述,Modernizr 并没有尝试在旧版本的浏览器中添加新的功能,但是它允许你按照你的风格去弥补那些缺失的功能。 为了展示这是如何运作的,示例文件中包含了一个叫做 css_support_begin.html 的页面。如果你在新式浏览器中加载这个页面,
- Modernizr
- Modernizr
- modernizr
- Modernizr
- Modernizr使用
- Modernizr使用指南
- 什么是Modernizr?
- 如何使用Modernizr
- Modernizr & YepNope Tips
- modernizr特征嗅探
- Modernizr与HTML5
- Modernizr.js入门指南
- modernizr使用说明+ demo
- Modernizr技术入门
- modernizr的使用
- modernizr的使用
- modernizr插件使用心得
- Modernizr.js-简
- React-Native 使用
- 数据结构与算法(一)--基本概念
- SMALL-FOOTPRINT KEYWORD SPOTTING USING DEEP NEURAL NETWORKS
- java 写入文件的几种方法
- iOS中函数式编程和链式编程的应用
- Modernizr
- 项目中用到的BAPI合集
- vim查找替换字符串
- 翻译《两天学习DBA》
- Sublime 里运行PHP
- HashMap和Hashtable的区别
- 分支管理—合并与创建分支
- 数据库语法(sql server)
- PHPCMS中的自定表单访问报服务器500错误