0

私はheaderhtml5shiv: http://code.google.com/p/html5shiv/のような HTML5 タグを使用しています。

ファイルを調べてみると、不要なファイルがたくさんありすぎているように思えたので、html5shiv http://css-tricks.com/snippets/javascript/make-html5-elements-work-inを介してより簡単な方法を調査しました。 -old-ie/に「ホットリンク」を追加するだけです: http://html5shiv.googlecode.com/svn/trunk/html5.js残りをホストさせます。

それから私は考えていました、このコードでさえやり過ぎのようです。createelement http://reference.sitepoint.com/javascript/Document/createElementを使用できないのはなぜですか?一般的にすべての html5shiv コードが必要なのはなぜですか?

以下はhttp://html5shiv.googlecode.com/svn/trunk/html5.jsからのコードの一部です。

.cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?
g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var 
n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join()

私は JavaScript の専門家ではありませんが、なぜこれが必要なのかわかりません。

4

1 に答える 1

1

HTML5Shivは、IE で HTML5 要素を使用する際のいくつかの問題を修正します。最初に要素を作成できるという明白な問題だけではありません。最初のバージョンはそれだけでしたが、それ以降のバージョンでは、他の問題に対する修正が追加されています。

私が知っている他の2つの問題は次のとおりです。

  • HTML5 要素を含むページの印刷に関するバグ。
  • .innerHTMLHTML5 要素で使用する場合のバグ。

これらの要素をページに追加できるようにする基本的な問題は、非常に短くて簡単なコードですが、これらの他の 2 つの問題が、HTML5Shiv コードの大部分の出所です。

HTML5Shiv の歴史とこれらがいつ追加されたかについての完全な記事は、http://paulirish.com/2011/the-history-of-the-html5-shiv/ にあります

于 2012-09-05T20:59:33.840 に答える