IE8には、「Internet Explorer 8」、「Internet Explorer 8互換モード」、およびIE7モードがあります。
ただし、IEのデフォルト設定では、IE8モードに強制するようにdoctype、メタタグ、httpヘッダーを設定している場合でも、すべてのイントラネットWebサイトで「IE8互換モード」を使用します。
私は持っています
<!DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.01 Transitional // EN" " http://www.w3.org/TR/html4/loose.dtd ">
そして
<meta http-equiv = "X-UA-Compatible" content = "IE = 8">
ただし、IE設定に変更を加えることなく、「IE8互換モード」に入ります。
ブラウザの設定を変更せずに、純粋な「IE8」モードにする方法は?
PS。ここでは「ドキュメントモード」とは言いません。
MSFTは、内部で実行されているさまざまなWebアプリケーションがある大規模なイントラネット環境を考慮していないようです。
MSDNフォーラムで読んだところによると、IE8の設定をバイパスする方法はありません。
そのため、システム管理者に、MSFTがこのバグを発見して修正するまで、「互換表示」の設定と値を変更し、ユーザーが値を変更できないように、いくつかの新しいグループポリシーを作成する必要があります。
MSDNブログ投稿 (emphasis theirs): "ブラウザモードはIEリクエストの前に選択されますウェブコンテンツ。これは、サイトがブラウザモードを選択できないことを意味します。
イントラネットの互換モードをオーバーライドすることは可能です。以下のコードをweb.configに追加するだけです。 IE9で私のために働いた。
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
ここで答えを見つけるのは難しいと感じたので、ここに重要な情報を簡単に示します:
イントラネットがIEのデフォルト設定を使用している場合、Webサイトの設定に関係なく、IE7標準モードがイントラネットサイトに適用されます。
this から:
互換表示とエンタープライズ
現在、多数の基幹業務WebサイトがInternet Explorer 7に対応しています。互換性を維持するために、Internet Explorer 8にはゾーン評価に基づいたスマートなデフォルトが付属しています。デフォルト状態では、パブリックインターネット上のすべてのサイトはInternet Explorer 8標準モード(互換表示オフ)で表示され、すべてのイントラネットWebサイトはInternet Explorer 7標準モードで表示されます(互換表示オン)。
いくつかの例を見てみましょう。 http:// myPortal および http:// sharepoint/sites/mySite 、インターネットのようなローカルイントラネット上のサイトに移動する場合Explorer 8は、ユーザーエージェント文字列「7」、バージョンベクター「7」で自身を識別し、Internet Explorer 7標準モードで標準モードをトリガーするWebページを表示します。この組み合わせにより、Internet Explorer 7で正常に機能したWebページをIE8で引き続き機能させることができます。
イントラネットまたはすべてのWebサイトの互換表示設定を上書きするには、IE8自体をエミュレートさせる必要があります。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
<meta...
セクションで<head>
を使用する代わりに、カスタムHTTPヘッダーを設定します。これらは同等であると想定されていますが、サーバーからの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宣言はvery first lineでなければならないことをどこかで読んでください。いかなる種類のコメントも空行もありません。
HTTP応答ヘッダーの設定と組み合わせて、これはうまくいきました。 Browser Mode
は「IE9互換モード」から「IE9モード」に移行しました。
「正しい」とマークされた答えは技術的には正しいですが、ほとんどの人が直面している実際の問題に対する解決策はないことを示唆しています。互換モード?"。
<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>
これはいくつかのワークステーションで機能しました。
上記のコードがアプリケーション側に実装されている場合、IE8はブラウザーモードを互換モードとして表示しますが、互換モードではないかのように動作するようです。
ドメインサイト名siteからポート番号を削除する必要があります:118/index /
ブラウザのURLにポート番号が表示されている場合-こんにちは、「考えてください」、それはイントラネットです。
dNSサーバーをわかりやすいURLに設定します-site.com/indexで正常に動作します
META宣言が機能するためには、Doctypeが簡易バージョンである必要があります。
<!DOCTYPE html>
デニスの質問の長い文ではありません。
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation IntranetCompatibilityMode 1-> 0
このコンボは私のためにトリックをしました:
<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>
少なくともIE開発者ツールはIE9 Compat View、IE8標準を報告します
キックのためだけに、EmulateIE7を試してみましたが、うまくいきました。拡張!DOCTYPEを簡素化することが重要でした。