アカウント名:
パスワード:
ろくすっぽ標準準拠していない怠惰な人たちは今後も何もしなくてもいいのに、せっかく将来を見据えて標準準拠したページを書いていた人が、IEのためだけに今後もバージョンアップのたびに振り回されるのが気に入りません。
「うちは標準準拠しています」と通達する為だけに
違います。「うちはIE8で動作確認しています」と伝えるためのものです。だからこそmeta要素で突っ込むと伝えられている内容がIEのバージョン番号を含んでいるのです。IE8にもバグはあるに決まっていますが、この要素を入れておけばIE9以降になっても何もしなくていいわけです。もちろんFirefoxにもSafariにもバグはあるわけで、この点についてIEを責めているわけではありません。
ですから今後のために、IE7以前を想定しているページにも1回だけ痛みを強いる(IE7の互換動作のためにもたとえば<meta http-equiv="X-UA" content="IE=7">みたいなタグを突っ込む必要があって、meta要素なしなら常に最新バージョンの動作をする)なら理解も納得もできました。IE7以前ではmeta要素は無視されますがバグった動作は当然そのままなので結果的に「対応」していることになります。標準準拠とかどうでもいいからIE8向けにページを作って今後一切修正したくない人たちは<meta http-equiv="X-UA" content="IE=8">と入れておいてください、ということにすればIE9以降になっても一切気兼ねなしにmeta要素なしの場合の動作を変更できるわけです。
1行加えるだけでよい
とおっしゃるなら、ぜひそうしてください。IE7以前を想定している人たちも。と言えるような仕様ならよかったのですが。
提案されている X-UA-Compatible 応答ヘッダーについては、 Web Standards Project の Microsoft Task Force [webstandards.org] の Aaron Gustafson さんによる「Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 [alistapart.com]」に詳しく書かれています。
提案では、 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> と書けば、 IE はなるべく標準準拠に近い動作をすることになっています。 IE=1000 などと書くのと同じ動作です。これなら IE の新バージョンが出るたびにページの内容を書き換える必要はありません。ただし、 IE 以外にも X-UA-Compatible に対応するブラウザーが出てきた場合はページを書き換える (なりサーバーの設定を変えるなりの) 必要があるので、気に入らないことに変わりはないかもしれませんが。
IE=edge は主に開発中のページで使うことを想定して用意されているようです。ページを公開した時点の IE でちゃんと動くことを確認しているなら、 IE=edge を指定するメリットはないと思うので、安易に IE=edge を指定するのは避けるべきでしょう。誰もが何も考えずに IE=edge と書くようになったら、 IE の新バージョンが出るたびに表示が崩れる心配をしなければならず、 X-UA-Compatible の意味がないというのは、 IEBlog の記事へのコメントでも書かれています。 toby johnson さんのコメント [msdn.com]、 David Naylor さんのコメント [msdn.com]、マイクロソフトの Chris Wilson さんの返事 [msdn.com]。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
標準準拠ページにmetaタグ (スコア:-1, フレームのもと)
text/ms-html .mshtml
に変更すればいいのでは?
それ以前に、標準準拠でまともなページを作成できない、HTML/CSS作成を生業としている企業/従業員の殲滅を進めてくれ。普通に作れば、IEでの表示がおかしくなるようなページはそう簡単に作れんだろ。
それにしても、「標準準拠で表示したければ、標準準拠ページに細工しろ!!」とは、相変わらず不遜な態度の会社だな。標準準拠がデフォルトではないブラウザで、「標準準拠のブラウザ」を名乗るとすれば、詐欺だ。
Re: (スコア:4, すばらしい洞察)
<meta>とはその様に使う物であって、だからこれでいいのです。
既に標準準拠しているサイトを作っているのであれば、1行加えるだけでよいので「そのデータ量も惜しい」という人は除いて
このタグによってIE8に対して「うちは標準準拠しています」と通達する為だけに使うのですから、これは現実的かつスマートな方法です。
そうでなければ何もしなくていいのです。
そうでないサイトが死ぬ程出来てしまったのだから、責任の所在はともかくとして今後の事を考
=-=-= The Inelegance(無粋な人) =-=-=
Re:標準準拠ページにmetaタグ (スコア:2, すばらしい洞察)
ろくすっぽ標準準拠していない怠惰な人たちは今後も何もしなくてもいいのに、せっかく将来を見据えて標準準拠したページを書いていた人が、IEのためだけに今後もバージョンアップのたびに振り回されるのが気に入りません。
違います。「うちはIE8で動作確認しています」と伝えるためのものです。だからこそmeta要素で突っ込むと伝えられている内容がIEのバージョン番号を含んでいるのです。IE8にもバグはあるに決まっていますが、この要素を入れておけばIE9以降になっても何もしなくていいわけです。もちろんFirefoxにもSafariにもバグはあるわけで、この点についてIEを責めているわけではありません。
ですから今後のために、IE7以前を想定しているページにも1回だけ痛みを強いる(IE7の互換動作のためにもたとえば<meta http-equiv="X-UA" content="IE=7">みたいなタグを突っ込む必要があって、meta要素なしなら常に最新バージョンの動作をする)なら理解も納得もできました。IE7以前ではmeta要素は無視されますがバグった動作は当然そのままなので結果的に「対応」していることになります。標準準拠とかどうでもいいからIE8向けにページを作って今後一切修正したくない人たちは<meta http-equiv="X-UA" content="IE=8">と入れておいてください、ということにすればIE9以降になっても一切気兼ねなしにmeta要素なしの場合の動作を変更できるわけです。
とおっしゃるなら、ぜひそうしてください。IE7以前を想定している人たちも。と言えるような仕様ならよかったのですが。
Re:標準準拠ページにmetaタグ (スコア:2, 参考になる)
提案されている X-UA-Compatible 応答ヘッダーについては、 Web Standards Project の Microsoft Task Force [webstandards.org] の Aaron Gustafson さんによる「Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 [alistapart.com]」に詳しく書かれています。
提案では、 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> と書けば、 IE はなるべく標準準拠に近い動作をすることになっています。 IE=1000 などと書くのと同じ動作です。これなら IE の新バージョンが出るたびにページの内容を書き換える必要はありません。ただし、 IE 以外にも X-UA-Compatible に対応するブラウザーが出てきた場合はページを書き換える (なりサーバーの設定を変えるなりの) 必要があるので、気に入らないことに変わりはないかもしれませんが。
IE=edge は主に開発中のページで使うことを想定して用意されているようです。ページを公開した時点の IE でちゃんと動くことを確認しているなら、 IE=edge を指定するメリットはないと思うので、安易に IE=edge を指定するのは避けるべきでしょう。誰もが何も考えずに IE=edge と書くようになったら、 IE の新バージョンが出るたびに表示が崩れる心配をしなければならず、 X-UA-Compatible の意味がないというのは、 IEBlog の記事へのコメントでも書かれています。 toby johnson さんのコメント [msdn.com]、 David Naylor さんのコメント [msdn.com]、マイクロソフトの Chris Wilson さんの返事 [msdn.com]。
Re:標準準拠ページにmetaタグ (スコア:1)
何しろ私の挙げた様な解釈は
規格から逸れていないという金看板だけで突っ走ることになるので。
もう少し厳しく分かつ方法としては、
標準準拠している信頼性の高いXHTML1.1か1.0 Strictを使っていれば
そのままでIE8の本当の標準動作をするとしてもいいかもしれません。
いずれにしてもこれより緩いか古い規格の場合は、入り乱れているので無理だと思います。
=-=-= The Inelegance(無粋な人) =-=-=
Re: (スコア:0)
互換モードでこそうまく表示されるHTMLファイルが多数派(それはNN4対応ぺージよりはるかに多いと思う)であるうちは、
そして、互換モードでこそうまく表示されるHTMLファイルがまだまだ生成されるであろううちは、
「1回だけ痛みを強いる」というのさえ、「『標準準拠していない怠惰な人たち』って何それ!?偉そうに(ムカッ)」って言って
受け入れられないと思うし。