15

したがって、誰もが ie9.js を知っています ( http://code.google.com/p/ie7-js/から)。動作しているように見えますが、2010 年の最後のリリース以来、ベータ版のままになったことはありません。

明らかに、少し似たようなことを行うもの (modernizr、html5shiv、CSS3Pie など) が他にもいくつかありますが、まったく同じではありません (特に、機能ごとに適用する必要があるか、範囲がより限定されているためです)。 )。

モダナイゼーションのためにそれを使用することは、依然として良い慣行と考えられていますか? 他のものを使用する必要がありますか?

4

2 に答える 2

14

ie9.jsはまだ良いコードです。IEが間違っているものを修正して、多くの作業を行います。

ご指摘のとおり、これは古いコードですが、引き続き機能します。

人々がそれをあまり使用しないかもしれない理由:

  • ie9.jsは、単一の大きなポリフィルです。それはそれをかさばって遅くします。特定の機能を修正するだけでよい場合は、やり過ぎかもしれません。いくつかの小さなパッチの方が良いかもしれません。
  • ie9.jsが行う修正の大部分は、IE6用です。IE6をサポートするために煩わしいサイトはますます少なくなっているため、そのコードはすべて冗長です。繰り返しになりますが、いくつかの小さなパッチの方が良い場合があります。
  • ie9.jsはもはや積極的に維持されていません。それはそれがやろうとしている仕事をするのでそれは問題ありませんが、他の新しいパッチは、それらが持つかもしれない利点と同様に新しいので、より多くの関心を生み出しています。

代替として言及したツール(modernizr、html5shiv、CSS3Pie)のうち、実際にはie9.jsとのクロスオーバー機能はありません。(この回答も参照してください)

ただし、ie9.jsの代わりになる可能性のある最近のツールを次に示します。

  • jQuery-または他の同様のライブラリの1つ。これはIEの穴を修正するだけではありませんが、IE6でも、jQueryコードを記述している場合は、ブラウザー間の互換性が重要になるため、ie9.jsが提供するJavascriptパッチはほとんど必要ありません。
  • Selectivzr-これはおそらくメインのものです。これは、IEがサポートしていないほとんどの不足しているCSSセレクターのポリフィルです。ie9.jsはさらにいくつか(つまり、IE6および7のリレーショナルセレクター)を実行しますが、Selectivzrは既存のセレクターエンジン(jQuery、Prototypeなどの選択)を使用します。つまり、リソースを使用するため、非常に高速で軽量です。すでにロードされています。

最近のブラウザーのJSコードの大部分がjQueryを使用して記述されていることを考えると、これにより、ie9.jsのような包括的なIEフィクサーパッチの必要性が実質的にゼロになります。

ただし、jQueryまたは同様のライブラリを使用していない場合でも、ie9.jsが非常にうまく機能することがあります。

于 2012-05-18T23:16:25.743 に答える
7

しばらく前に ie9.js のパッチを作成し、オープン ソースとしてリリースしました: https://github.com/mylovecompany/ie9-js

于 2012-11-12T09:28:08.457 に答える