腻子脚本

腻子脚本(polyfill)指的是一段JavaScript代码,能够赋予浏览器未曾有过的功能。
目前,几乎所有CSS3和HTML5功能都有各自对应的腻子脚本,包括视频回放和阴
影,从而让那些老得走不动道儿的“老家伙”们也能闪现青春的光芒。

怎么确定是否需要某个腻子脚本呢?推荐大家使用Modernizr。Modernizr(http:// modernizr.com)是一个JavaScript文件,能够帮你检测用户浏览器对HTML5和CSS3 功能的支持情况,然后为顶级的标签添加一组类,标明浏览器支持什么功能。 另外,它还会设定一个JavaScript对象modernizr 的属性,以便你通过JavaScript来 测试这些功能。Modernizr添加的类主要是为CSS提供便利。

以下给出一些有用的腻子脚本,供大家参考选用

  1. html5shiv.js(http://code.google.com/p/html5shiv):让IE8 及更低版本的IE 识别section、 article、nav等HTML5元素。
  2. selectivizr(http://www.selectivizr.com):让IE(6/7/8)支持::first-child等高级 CSS选择符。
  3. IE9.js(http://code.google.com/p/ie7-js):修复从IE6 到IE9 的很多bug和缺损 功能。
  4. CSS3Pie(http://css3pie.com):让IE6到IE9支持圆角、背景渐变、边框图片、盒 阴影、RGBa颜色等可视化的CSS3功能。
  5. Respond.js(https://github.com/scottjehl/respond)让旧版本浏览器支持媒体查询。
  6. -prefix-free (http://lea.verou.me/projects)为需要厂商前缀的CSS3声明添加前缀。
  7. borderBoxModel.js(https://github.com/albertogasparin/borderBoxModel):让IE6和 IE7支持CSS3的box-sizing属性。

这些腻子脚本都是我最常用的,它们对弥补Internet Explorer的不足和缺失尤其有用。

Paul Irish维护了一个完整的腻子脚本列表,地址为:https://github.com/Modernizr/ Modernizr/wiki/HTML5-Cross-Browser-Polyfills。

原文地址:https://www.cnblogs.com/hailiang2013/p/3682935.html