web-dev-qa-db-ja.com

Internet Explorer 9に強制的に標準文書モードを使用させる

Internet Explorer 9で強制的に標準ドキュメントモードを使用するにはどうすればよいですか?私はWebサイトを構築しましたが、IE9はquirksモードを使用してWebサイトページをレンダリングしていることがわかりました。ただし、レンダリングには標準モードを使用します。

70
MaxRecursion
 <!doctype html>
 <meta http-equiv="X-UA-Compatible" content="IE=Edge">

これにより、IEの各バージョンは標準モードを使用するため、IE 9はIE 9標準モードを使用します。 (代わりにIEの新しいバージョンをalsoにしたい場合は、特にIE 9標準モードを使用します。 Edge9に置き換えます。しかし、なぜそれが必要なのか理解するのは困難です。)

説明については、 http://hsivonen.iki.fi/doctype/#ie8 を参照してください(かなり厄介に見えますが、それはIEの動作が厄介だからです)。

126
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

メタタグは、headタグの後の最初のタグである必要があります。そうでない場合、機能しません。

18
Ty Petrice

このスレッドには、触れられているが完全には説明されていない非常に重要なものがあります。 HTMLアプローチ(ヘッドにメタタグを追加)は、生のHTMLページまたは非常に基本的なサーバーページでのみ一貫して機能します。私のサイトは、マスターページ、テーマ設定、多くのサードパーティコントロールなどを備えた非常に複雑なサーバー駆動型サイトです。ヘッドタグの先頭にあるブラウザ。これにより、HTMLメタタグが事実上役に立たなくなりました。

まあ、もしあなたがそれらを打ち負かすことができないならば、彼らに加わってください。私のために働いた唯一の解決策は、マスターページのプリレンダリングイベントでまったく同じことをすることです:

Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    Dim MetaTag As HtmlMeta = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "Content-Type"
    MetaTag.Attributes("content") = "text/html; charset=utf-8;"
    Page.Header.Controls.AddAt(0, MetaTag)

    MetaTag = New HtmlMeta()
    MetaTag.Attributes("http-equiv") = "X-UA-Compatible"
    MetaTag.Attributes("content") = "IE=9,chrome=1"
    Page.Header.Controls.AddAt(0, MetaTag)
End Sub

これはVB.NETですが、同じアプローチが任意のサーバー側のテクノロジーで機能します。ページがレンダリングされる直前に最後に行われることを確認する限り。

10
David Esquivel

hTMLドキュメントの最初の行としてdoctypeを配置します

<!DOCTYPE html>

internet Explorerドキュメントの互換性に関する詳細な説明は、次の場所にあります。 ドキュメントの互換性の定義

6
inancsevinc

互換モードを防ぐには、次のような「doctype」を定義します。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

IE9文書モードでページをIEレンダリングするには:

<meta http-equiv="x-ua-compatible" content="IE=9">

"IE=Edge"はIEがIE9ドキュメントモードではなく、最新のドキュメントモードでページをレンダリングすることに注意してください。

5
SuperDuck

このタグを追加することを考慮し、

<meta http-equiv="X-UA-Compatible" content="IE=Edge">

最新バージョンとの互換性のみを許可する場合があります。それはすべてあなたのライブラリに依存します

3
eoinDeveloper

私は別の方法で試しました:

F12キーを押します。次に、ドロップダウンメニューの右側で、Internet Explorerバージョン9を選択します。

それはそれであり、それは私のために働いた。

0
Madhu Sareen

正しいdoctypeを使用していることを確認してください。

例えば。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

あるいは単に

<!doctype html>

また、 読み取り およびIEの互換モードと開発者ツールバーの動作方法とIEのモードの設定を理解します。

0
Moin Zaman

メインページのindex.jspに次の行が含まれているなどの問題に直面しましたが、IEではレンダリングが適切ではありませんでした。問題を発見し、index.jspにインクルードしたすべてのファイルにコードを追加しました。ほら!動いた。

そのため、ページに含めるすべてのファイルに以下のコードを追加する必要があります。そうしないと機能しません。

    <!doctype html>
    <head>
      <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    </head>
0