web-dev-qa-db-ja.com

HTML5シムとシブ

Railsの初心者。

サンプルアプリケーションでCSSをコーディングしています。ブラウザ、つまりInternet ExplorerがHTML5をサポートするのに役立つJavaScriptコードがあることを理解しています。

HTML5 ShimとHTML5 Shivの違いは何ですか?知っておく価値はありますか?

http://html5shim.googlecode.com/svn/trunk/html5.js

http://html5shiv.googlecode.com/svn/trunk/html5.js

私のコード、y'all:

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
47
owlstone

もともとはhtml5-shivと呼ばれていました。

Shivは刺すような実装であるため、Shivは実際には正しい用語ではありません。

シムは、物事を平準化する(または支える)ために使用するものです。テーブルの片足が短すぎる場合は、木片や電話帳でシムすることができます...

Html5-shimは、html5shivがshimと呼ばれることを期待している人向けです。

違いがある限り、それだけです。

polyfillsのようなものは、機能の実装の違いをカバーします。
北米では、ポリフィルは「スパックル」と呼ばれることがあります。

77
Norguard

から http://code.google.com/p/html5shim/

shivまたはshim?

よくある質問:html5shimとhtml5shivの違いは何ですか?
Answer:何もありません。1つはmで、もう1つはvです-それだけです。

22
Sander Luís

答えは。

シブという用語は、 John Resig に由来します。彼は、Wordをスラングの意味で使用していると考えられていました。真実は知られていますが、ジョンはおそらくWord shim を使用するつもりでした。これは、コンピューティングではアプリケーション互換性の回避策を意味します。スペルミスを修正するのではなく、Internet Explorerに精通しているほとんどの開発者は視覚的な画像を高く評価しました。そして、それは子供たちの語源です。

https://github.com/aFarkas/html5shiv の著者のページから

11
Adriano Rosa

これはおそらくあなたが探しているよりも簡単ですが、混乱する可能性がある他の人にとっては:

まず、Shimのプログラミング以外の定義を次に示します。

名詞:材料のワッシャーまたは薄いストリップ部品の位置合わせ、部品の適合に使用、または摩耗の低減。

動詞:ウェッジ(何か)またはシムで埋める(スペース)。

プログラミング用語でシムを理解するには、Web開発者にとっての苦痛IEが何であったかを理解する必要があります。

IEは最初の市販のWebブラウザの1つでした。そして、それは「無料」で利用可能な最初のものだったかもしれません。したがって、ブラウザ標準、つまりhtmlおよびjavascriptの処理方法の定義が定義される前に構築されました。

したがって、標準が作成されたときにサイトとアプリケーションをIEで動作させ続けるために、IEはできなかったか、(独占的な理由で)IE( これに関する詳細な情報が記載された素晴らしい投稿です )。これによりIEと他のブラウザが時間とともに成長しました。この亀裂は予期しないエラー、スタイリングでしばしば浮上しました。一部のアプリケーションでは、他のブラウザから実行するオプションをユーザーに拒否しました。

しかし、製品が両方のタイプのブラウザーで使用可能になる場合、開発者はしばしば2セットのコードを作成する必要がありました。 1つは事実上すべての最新ブラウザー用で、もう1つはIE用です。明らかに、この慣行は維持を悪夢にしました。しかし、時間がたつにつれて、多くのJavaScriptフレームワーク/ライブラリは、これらの問題に特に対処するためのコードを追加し始めました。これらのコードはシムと呼ばれます。 IEでコードを「適合」にするであるためです。

たとえば、 jQuery が最初にリリースされたとき、以前のバージョン(または独自のライブラリを作成するバージョン)に比べて大きな利点は、すべてのブラウザー(IEを含む)で機能することでした。当時IEはまだ頻繁に使用されていたため、開発者の時間を大幅に節約しました。しかし、jQueryはバージョン3になりました。以前のバージョンとの大きな違いはIEをサポートしなくなったことです。これは、MicrosoftでさえもIE(Win10のデフォルトブラウザはEdge)から離れているためです。しかし、残念なことに、多くのサイトおよびWebアプリケーションはIE =(セキュリティ上の理由で)。そして、IEはほとんどの商用アプリケーションでDodoの道を進んでいますが、他のブラウザにはないセキュリティ機能を提供しています(しかし、追いついています)そして、仮にそうしたとしても、これらのアプリケーションを更新するコストは高すぎて正当化できません。

それは基本的に、多くの人々がまだIEの使用を余儀なくされていることを意味するため、これらのシムは依然として必要です。

0
Travis Heeter