html5 – ie9-js – 有其他的东西渲染它已经过时了吗?

所以,大家都知道ie9.js(从 http://code.google.com/p/ie7-js/).它似乎有效,但自从2010年上一次发布以来,它从未离开过测试版.

显然,还有一些其他的事情有点类似(例如modernizr,html5shiv和CSS3Pie),但是它们不完全相同(尤其是因为它们需要被应用于每个功能或者在范围上更有限) ).

使用现代化还是好的做法吗?我应该用别的东西吗

解决方法

ie9.js仍然是一个很好的代码.它做了很多工作,修复IE错误的东西.

正如你正确地指出的,它现在是一段旧的代码,但它仍然可以工作.

人们可能不会再使用它的原因:

> ie9.js是一个单一的大型polyfill.这使得它笨重和缓慢.如果您只需要修复某些特定功能,可能会过度使用;几个较小的补丁可能会更好.
> ie9.js的大部分修复程序是针对IE6的.越来越少的网站正在努力支持IE6,所以所有的代码是多余的.再次,一些较小的补丁可能会更好.
> ie9.js没有被积极维护.没关系,因为它做了这项工作,但是其他更新的补丁正在产生更多的兴趣,因为他们是新的,因为他们可能有任何优势.

在您提到的工具(modernizr,html5shiv,CSS3Pie)中,没有一个实际上与ie9.js完全没有任何交互功能. (另见this answer)

然而,这里有一些更新的工具可能是ie9.js的好选择:

> jQuery – 或其他类似图书馆之一.这不仅仅是修复IE的漏洞,而是因为它使得跨浏览器的兼容性,即使在IE6中,如果你正在编写jQuery代码,那么很少需要ie9.js提供的Javascript补丁
> Selectivzr – 这可能是主要的.这是IE不支持的大多数缺少的CSS选择器的polyfill. ie9.js还做了一些(即IE6和7的关系选择器),但Selectivzr使用预先存在的选择器引擎(您选择的jQuery,Prototype等),这意味着它非常快速,而且轻便,因为它使用已经加载的资源.

鉴于浏览器中绝大多数的JS代码都是使用jQuery编写的,所以这基本上减少了一个全面的IE修复程序补丁(如ie9.js)几乎为零的需求.

但是,如果您不使用jQuery或类似的库,那么您可能会发现ie9.js仍然可以为您效力.

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码