2012-08-13 28 views
18

私は入門HTMLコースを書いています。私は、少なくともIEで画像を表示するためのタグとして<img><image>の両方が動作するHTMLを学んでいたので、9年前に発見したことを覚えています。実際、<image>は、トップ5のブラウザの最新バージョンではまだ動作しています。<img>対<image> HTMLのタグ

<image>は間違っており、http://validator.w3.orgで検証されません。しかし、<img>の代わりに<image>を使用すると、画像を表示しないブラウザを知っている人はいますか?

さらに、私は、現代のブラウザでは、初心者がよく行う間違いであるため、<image>タグで作成した画像を表示すると仮定します。この仮定は正しいですか?

+10

「初心者の間違い」ではなく、「壊れたサイトでそれを使用し、現代のブラウザがそれらのサイトを助ける必要がある」ためではありません。コースを教えているので、 * 'img'だけが有効/正しい/受け入れ可能です。 :) –

+0

私はインタラクティブなコース(http://codeavengers.com)でimgの代わりに間違ってimgの画像を使用していることに気付きました。画像が完全に表示されているように見えますが、画像が無効であるため、imgとNOT画像を使用すべきであるというエラーメッセージについて混乱していました。 – Mike

+0

すべての代入で有効性が100%w3cの検証*または*の正当性が要求されます - したがって、もしそれらが*画像*を正当化できるならば、それらはできません::) –

答えて

16

はい、いいえ。あなたが指摘しているように<image>は、長い間<img>の同義語です。最初にNetscapeブラウザを使っていたのはおそらくユーザーエラーを補うためで、おそらくその時点で要素が実際に<image>または<img>と呼ばれるかどうかが分かっていなかったためだと思います。

とにかく、pstが指摘するように、いったんそれが時間の市場を支配するブラウザに実装されると、Webページがそれに頼るようになりました。その永続性はブラウザのメーカーに商業的圧力にまで下がります。すべての主要なブラウザがそれをサポートしていれば、ブラウザAはバージョンVでサポートしていますが、バージョンV + 1がリリースされるとすぐにバージョンV + 1をサポートしないと判断します。最新のブラウザでサイトSが壊れています。ブラウザはごみです。ブラウザBに切り替えるつもりです。

HTML5解析仕様では、<image>タグがツリー構築段階のimg要素にマップされている必要があるため、それを使用する正当な理由はありません。

あまり知られていない検索エンジンなど、他のHTMLコンシューマよりもブラウザについての心配はありません。私は、imgの同義語のimageは広く知られておらず、多くのそのようなツールは画像リソースを参照するために<image>を取り上げることができないと考えています。

+0

私は、HTML5の解析仕様でイメージタグがimgにマップされている必要があることに気づいていませんでした。 http://codeavengers.comの私のレッスンの1つで、学習者が間違いを犯した場合にイメージタグがDOMツリーに現れると仮定していたので、あなたはそれを言いました。 – Mike

0

実際、現代のブラウザでは、古いウェブサイトが正しく表示され、無効なコードがページをめちゃくちゃにしないように、有効ではないコードが表示されます。

たとえば、最新のブラウザを開く前に<tr>を閉じるのを忘れてしまった - すべての最新のブラウザでは、単に閉じたとみなします。

<image>タグを表示できず、<img>というタグが表示される、よく使われている最新のブラウザがわかりません。

+5

[whatwg] http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#syntax-tag-omission) ''はオプションです。 ''タグを省略すると、ページは引き続き有効になります。だから私は ''の例がこの質問の最良の例であるとは確信していません。 – Mike

4

私はコミットしていたこの問題のデバッグを終了しましたが、以前は上記の答えを読んでいませんでした。

本格的なブラウザではありませんが、電子メールクライアントは、あたかもブラウザであるかのようにしばしば使用されます。

裸のHTML(既定の裸のDTD仕様)を使用しているAndroid Gmailクライアントがこの問題を抱えていることがわかりました。それは<img /> [すなわち、<image />ではない]にしか応答しません。 gmail.comは<image />でいいですが、Android gmailクライアントではありません。

メールクライアントは実際にはブラウザではありませんが、とにかく興味があると思いました。

+3

ようこそスタックオーバーフロー! HTMLが表示されるようにあなたの投稿の書式を修正しました。将来の参照のために、コードブロックは4つのスペースでインデントすることでフォーマットでき、インラインコードはバッククォート( ')で囲むことでフォーマットできます。コードを選択し、エディタで** {} **ボタンをクリックすることもできます。 – Stijn