2011-06-27 1 views
2

私はHTML5要素のあるサイトを構築しています。以前のバージョンのIEが再生される場合は好きなだけなので、googlecodeのHTML5shim javascriptを使用しています。IE7&IE8をIE9開発ツールを使ってテストする - 古いバージョンを複製する正しいドキュメントモード?

IE7とIE8をテストする唯一の方法は、ブラウザモードとドキュメントモードを切り替えるためにIE9の開発者ツールを使用することです。

IE7またはIE8ブラウザモードと関連する標準モードを選択した場合でも、ドキュメントはかなり遠くになります.HTML5の要素はdivのようには動作しません(シムはすべての新しいdivを持つ要素)。

IE7とIE8でquirksモードを選択した場合、サイトは多かれ少なかれ、HTML5要素を取り除くことなく残りの問題を修正できることを願っています。

HTML5のdoctypeでIE7またはIE8を使用している場合、それらは奇形または標準で動作しますか?

また、古いバージョンをエミュレートするIE9で見ていることは、古いブラウザのユーザーが実際に見ることになると思いますか?

答えて

4

これらの要素にdisplay:blockを設定してくださいルールのように:。。。

article, aside, figure, footer, header, hgroup, nav, section {display: block;} 

あなたのCSSで助けてください

+0

シムスクリプトがHTML5要素をDIVに変換してブロックとして表示していると思ったようです。それはそうではないようだから、あなたのCSSの追加は助けになります。 – Codecraft

+0

私は過去に同じ問題を抱えていました。つまり、スタイルシートを作成できるようにIEを取得していますが、IEのデフォルトスタイルシートにはこれらの要素はありません。http:// meyerwebなどのリセットスタイルシートを使用する価値があります.com/eric/tools/css/reset /を使用すると、ブラウザ間でのレンダリングに一貫性があります。 –

+1

うん、私はCSSのリセットを使用する - あなたが言った非常に一つ、私は私のコピーを更新する必要があります:) – Codecraft

6

私は首を突き出し、いいえと言います。古いバージョンをエミュレートするIE9は信頼できません。

私は最近、X-UA互換IE = EmulateIE8を使用して、IIS経由でIE8レンダリングを強制するために、いくつかのissues regarding IE9 emulating IE8を実行しました。私はJquery 1.4.3からJquery 1.6.1にアップグレードするまですべてがうまくいったと言わなければなりません。私は、JqueryがDOMオブジェクトを選択する際にいくつかの問題が発生し始めたのですが、DOMオブジェクトを選択するには$("#myObject");

があります。 IE9にアップグレードする前にすべてうまくいきました。おそらく、Jquery 1.6.1が動作しているかどうかテストしてIE8に再度ダウングレードすることになります。私の経験からは、古いブラウザをエミュレートするIE9を信頼できるとは思っていませんが、最良のことは、よりよい結果をもたらす古いブラウザでVMをセットアップすることです。私はそれを行うつもりです、むしろ古いブラウザ(IE8)でVMを使用してください。

更新

私は私がしたすべてはIE8とVMがインストールされ、セットアップした、IE8をそのようにテストする方がはるかに簡単VMルートの道を、行ってきました。

+2

私はyaと一緒です。 VM。 [MicrosoftはIE6のWindows XPイメージを作成します](http://www.microsoft.com/downloads/en/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&displaylang=en) Windows 7 Professional、またはMac OS X上のVMWare。明示的にVMを2回コピーし、コピーをIE 7とIE 8にアップグレードすることができます。これらのVMは3ヶ月ごとに有効期限が切れますが、たとえば、それぞれ約4 GBのハードドライブスペースが必要です)。 –

+0

@Paul D. Waiteいいです、これはとても簡単です。私は彼らが私の開発者のラップトップで簡単に実行できるように、彼らが撤去されたという事実を好きです。リンクメイトに感謝:) – zulucoda

+0

あなたは大歓迎です。私はVMWare Control Panelの "Shrink"機能を毎月使っていたので、ハードドライブが溶けないようにしていました。マイクロソフトのイメージを3か月ごとにダウンロードする必要があります(6インチにすることはできませんでした)、それを小さくすることは本当にうれしいです。 –

4

IE8とIE9の互換モードは、あなたのサイトにすべてのIEバージョンをテストし、あなたのマシンにIEのバージョンが1つしかないのとまったく同じようにすることを目的としています。

原則として素晴らしいアイデアです。残念ながら、マイクロソフトはそれを混乱させた。互換モードは実際にIE7とIE8を複製しますが、親ブラウザやエミュレートしようとしているブラウザでは発生しない独自のバグや問題もあります。

実際、互換モードは実際には別のブラウザの別のセットです。あなたはIE7であなたのサイトがどのように見えるかを正確に示すためにそれらに頼ることはできませんが、何らかの理由で互換モードで動作しているユーザーがいる場合には、テストする必要があります。

quirksモードと標準モードについても尋ねました。 "quirksモード"は、互換モードとは何の関係もないことに注意してください。

IEでは、ページの上部に<!DOCTYPE>という宣言がないサイトによって、クワークモードがトリガーされます。これは、標準モードがIE6で引き出され、サイトがIEの古いバージョンで動作し続けることを可能にするために導入されました。したがって、Quirksモードは実質的にIE5互換モードです。今日のどのサイトでもクォークモードを使用する理由は全くないので、常にdoctype(好ましくはHTML5のdoctype)を指定する必要があります。サイトがスタンダードモードではなくクォークモードで良好に見える場合は、サイトを修正する必要があります。

HTML5 Doctype <!DOCTYPE html>は、IE6以降のすべてのバージョンのIEで標準モードを起動します。実際、このdoctypeはHTML5標準チームによって意図的に選択されました。なぜなら、これは既存のすべてのブラウザで有効な最短のdoctypeだったからです。

についてHTML5Shimについて:私は基本的なシムを機能させるためにいくつかの問題を抱えていました。問題を追跡したことはありませんでしたが、代わりにModernizrを使用して解決しました。これには、基本的なシムと同じ機能と、ブラウザ互換性チェックのための他の便利な機能があります。

シムの印象はやや間違っています。要素をdivに置き換えることはありません。実際には、Javascriptを使用して新しいHTML5要素のそれぞれのダミーバージョンを作成します。これはIEのクールークを利用して、そのインスタンスがJavascriptを介して作成されている場合、要素を有効なHTMLとして認識します。 (それは奇妙な癖だが、現代の基準を受け入れるようにIEを強制的にハッカーのために有用であることが証明されていますができます

希望

+0

不明瞭なDoctypeによって不具合モードが引き起こされることは知っていますが、IE5/IE8ではHTML5 doctypeが正しくないと見なされ、クォークモードに? (私は古いソフトウェアのユーザーがどのようにそれを見ているのか、それは正しいモードを選択するという意味でサイトにできるだけよく見える必要がある)。 – Codecraft

+0

@コードクラフト - はい、HTML5 doctypeは大丈夫です。明確にするために答えを編集します。 – Spudley

+1

+1互換モードが実際には異なるブラウザにどのようにあるかを詳しく説明しています。これは私たちのテストプロセスと常に混乱を招いています。 –