イントラネットで「インターネットエクスプローラー8」ブラウザモードを強制します
質問
「Internet Explorer 8」、「Internet Explorer 8互換モード」、IE8にはIE7モードがあります。
ただし、IEのデフォルト設定により、すべてのイントラネットWebサイトが「IE8互換モード」を使用します。Doctype、Metaタグ、HTTPヘッダーを設定しても、IE8モードに強制することが提案されています。
私は持っています
u003C!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd">
と
u003Cmeta http-equiv="X-UA-Compatible" content="IE=8" >
ただし、IE設定に変更はなく、「IE8互換性モード」に依然として入ります。
ブラウザの設定を変更せずに、純粋な「IE8」モードに強制する方法は?
詩私はここで「ドキュメントモード」について話していません。
解決
MSFTは、内部で多くの異なるWebアプリケーションを実行している大きなイントラネット環境を考慮していないようです。
MSDNフォーラムで読んだ場所によると、IE8設定をバイパスする方法はありません。
したがって、MSFTがこのバグを発見して修正するまで、「互換性ビュー」設定と値を変更し、ユーザーが値を変更しないように、システム管理者に新しいグループポリシーを配置するように依頼する必要があります。
から MSDNブログ投稿 (彼らの強調): "IEがWebコンテンツを要求する前に、ブラウザモードが選択されます. 。この意味は サイトはブラウザモードを選択できません."
他のヒント
イントラネットの互換性モードをオーバーライドすることができます。以下のコードをweb.configに追加するだけです。 IE9で私のために働いた。
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
ここでの答えは従わないことがわかりましたので、簡単には重要な情報があります。
INTRANETがIEのデフォルト設定を使用する場合、IE7標準モードは、Webサイト設定に関係なくイントラネットサイトで実施されます。
から これ:
互換性ビューとエンタープライズ
多数のビジネスウェブサイトは、今日インターネットエクスプローラー7です。互換性を維持するために、Internet Explorer 8は、ゾーン評価に基づいてスマートデフォルトを備えた船舶を搭載しています。デフォルトの状態では、Internet Explorer 8標準モード(互換性の閲覧)のパブリックインターネットディスプレイのすべてのサイトと すべてのイントラネットWebサイトがインターネットエクスプローラー7標準モードに表示 (互換性の表示)。
いくつかの例を見てみましょう。あなたがあなたのローカルイントラネットのようなサイトに移動する場合 http:// myportal と http:// sharepoint/sites/mysite, Internet Explorer 8は、「7」のバージョンベクトルのユーザーエージェント文字列で自分自身を識別します, 、およびInternet Explorer 7標準モードに標準モードをトリガーするWebページを表示します。この組み合わせにより、Internet Explorer 7で正しく機能したWebページは、IE8で引き続き行うことができます。
INTRANETまたはすべてのWebサイトの互換ビューの設定をオーバーライドするには、IE8をエミュレートする必要があります。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
使用する代わりに、カスタムHTTPヘッダーを設定します <meta...
の中に <head>
セクション。これらは同等であるはずですが、私はそれが X-UA-Compatible
サーバーからのHTTPヘッダーは、IE 8の「互換性ビューでイントラネットのサイトを表示」設定をオーバーライドします。 <meta...
要素はしません。
.NETを使用している場合、私はあなたのための答えがあります:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" >
web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=8" />
</customHeaders>
</httpProtocol>
Doctype宣言がでなければならない場所を読んでください 最初の行. 。いかなる種類のコメントも空の行もありません。
HTTP応答ヘッダーの設定と組み合わせて、これは私のために機能しました。 Browser Mode
「IE9互換モード」から「IE9モード」に移行しました。
hkey_current_user software microsoft internet explorer browseremulation intranetcompatibilitymode 1-> 0
メタ宣言が機能するためには、Doctypeは単純化されたバージョンでなければなりません。
<!DOCTYPE html>
デニスの質問の長い声明ではありません。
このコンボは私のためにトリックをしました:
<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>
少なくともIE開発者ツールレポートIE9コンパートビュー、IE8標準
キックのためだけに、私はEmulateie7を試しましたが、それもうまくいきました。拡張された!doctypeを簡素化することが重要でした。
ドメインサイト名からポート番号を削除する必要があります。1180/索引/
ブラウザがurlでポート番号を参照している場合 - こんにちは「思考」、それはイントラネットです。
フレンドリーなURLのためにDNSサーバーをセットアップ - site.com/index そして、それは大丈夫です
「正しい」とマークされた答えは技術的には正しいですが、ほとんどの人が直面している本当の問題の解決策はないことを示唆しています。互換モード?"。
<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>
これはいくつかのワークステーションで私のために働きました。
上記のコードがアプリケーション側に実装されている場合、IE8は、互換モードとしてブラウザモードを表示している場合でも、互換性モードではないかのように動作するように見えます。