74

IE7標準モードとIE8標準モードでうまく機能するフロントエンドをコーディングしています。

Internet Explorerを起動してページを読み込むと、IE7とIE8の両方が直接Quirksモードになります。IE7とIE8の両方に常に標準モードでページをロードさせるにはどうすればよいですか?

これまでのところ、特別なメタタグは追加されていません。

手伝ってくれてありがとう

編集:私のdoctypeとheadは、現時点では次のようになっています。

<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <title>...</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta charset="utf-8" />
    <script src="js/html5.js"></script> 

    (...)
</head>
4

6 に答える 6

87

これは絶対に確実にする方法です:

<!doctype html> <!-- html5 -->
<html lang="en"> <!-- lang="xx" is allowed, but NO xmlns="http://www.w3.org/1999/xhtml", lang:xml="", and so on -->
<head>
<meta http-equiv="x-ua-compatible" content="IE=Edge"/> 
<!-- as the **very** first line just after head-->
..
</head>

理由:
IEが競合するものに遭遇すると、を無視して「IE7標準モード」に戻りますx-ua-compatible

(これは非常に古い質問に対する答えであることを私は知っていますが、私はこれに苦労しました、そして上記のスキームは正しい答えです。それはいつでもずっと機能します)

于 2012-11-22T20:13:38.253 に答える
33

悲しいことに、彼らは私たちにタグを使ってブラウザに何をすべきかを知らせてほしいと思っています。このドキュメントを見てください。使用するように指示されています。

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

そしてそれはするべきです。

于 2011-03-21T05:22:49.780 に答える
11
  1. Using html5 doctype at the beginning of the page.

    <!DOCTYPE html>

  2. Force IE to use the latest render mode

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

  3. If your target browser is ie8, then check your compatible settings in IE8

I blog this in details

于 2012-09-14T09:13:13.110 に答える
10

正しい doctype 宣言を追加し、XML プロローグを回避するだけで、quirks モードを回避できます。

于 2011-03-21T05:27:42.217 に答える
2

HTML5 Doctype が古いブラウザで問題を引き起こしている可能性があります。また、HTML5 shiv に関連するファンキーな問題が原因である可能性もあります。

少なくとも一時的に、XHTML Doctype のいずれかに切り替えて、それに応じてマークアップを変更してみてください。これにより、問題を絞り込むことができます。

これらの IE が quirks モードに切り替わると、デザインが壊れますか? CSS が原因で表示がおかしくなっている場合は、ブラウザーがモードを切り替えてもサイトが同じように見えるように、CSS に取り組む価値があるかもしれません。

于 2011-03-22T18:18:19.137 に答える