0

IE8 で http-equiv="X-UA-Compatible" なしで動作する次の html コードがありますが、あると失敗します。順序は正しいと思います ( http://blogs.msdn.com/b/ieinternals/archive/2011/07/18/optimal-html-head-ordering-to-avoid-parser-restarts-redownloads-and-improve -performance.aspx )、コードは有効であるため、これを行う理由がわかりません。

説明をお願いします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8, IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<base href="file:///D:/LocalPath/ToFrameElements/">
<title>IE8 stuff</title>
</head>
4

3 に答える 3

0

標準のドキュメント モードではフレームが表示されません。

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

またはブラウザのエラー許容度を中継しない、構文的に正しい方法

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

示す。

これは、IE の標準ドキュメント レンダリング モードでは、セキュリティ上の理由から、ファイル システムへのリンクを含む base href の使用が許可されていないためです。基本の href を機能させるには、メタ http-equiv="X-UA-Compatible" を削除して、ページが quirks レンダリング モードで実行されるようにする必要があります。

于 2013-03-01T07:04:24.347 に答える
0

base要素は、その値が絶対 URL でなければならないように定義されています。さらに、file:URL の効果は、定義上、システムに依存します。baseそのため、タグが不要になるように、ローカル ファイルとそれらへの参照を整理する必要があります。

于 2013-02-28T09:24:43.807 に答える
0

http- equivX-UA-Compatible文字列が無効です。

2 つの値があります。

  1. IE=8 (IE 8 標準レンダリング モード)
  2. IE=edge(最新エンジン)

ただし、構文が正しくありません。正しい構文は次のとおりです。

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

複数の値が指定された場合、最も高い値が使用されます。あれは、

  • IE9 では、ページは IE 9 標準レンダリング モードでレンダリングされます。

  • IE8 では、ページは IE 8 標準レンダリング モードでレンダリングされます。

解決策: 構文を修正して再試行してください。

参照:

  1. https://developer.mozilla.org/en-US/docs/Persona/Browser_compatibility
  2. ドキュメントの互換性を定義する
  3. IE8 の互換モードについて

補足: IE は IE 8 以降、このメタ タグをサポートしています。

于 2013-02-28T07:40:57.110 に答える