タグ付けされた質問 「ie8-compatibility-mode」

18
X-UA-CompatibleはIE = edgeに設定されていますが、互換性モードを停止しません
私はかなり混乱しています。設定できるはずです <meta http-equiv="X-UA-Compatible" content="IE=edge" /> IE8とIE9は、最新のレンダリングエンジンを使用してページをレンダリングする必要があります。しかし、私はちょうどそれをテストし、互換性モードが当社のサイト上の他の場所になっている場合、それがために滞在するのページ私たちはしないようにそれを強制する必要があるにもかかわらず、。 IEが互換モード(イントラネット内でも)を使用しないようにするにはどうすればよいですか? FWIW、私はHTML5 DocType宣言(<!doctype html>)を使用しています。 ページの最初の数行は次のとおりです。 <!doctype html> <!--[if lt IE 7 ]> <html lang="en" class="innerpage no-js ie6"> <![endif]--> <!--[if IE 7 ]> <html lang="en" class="innerpage no-js ie7"> <![endif]--> <!--[if IE 8 ]> <html lang="en" class="innerpage no-js ie8"> <![endif]--> <!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" …

7
JavaScript:IE7またはIE8互換モードのIE9を検出できますか?
ユーザーエージェント文字列を介して自分自身をIE7またはIE8として識別しているブラウザーが実際にそれらのブラウザーであるかどうか、またはそれが7または8互換モードのIE9であるかどうかを知る必要があります。 ユーザーエージェント文字列で確認できることから、IE7互換モードのIE9は、実際のIE7と同じ文字列を提供します。それが "本当に" IE9を偽装しているかどうかを確認するためにテストできる追加のプロパティ/要素/オブジェクトはありますか? 私のスクリプトが読み込まれるページは、奇妙なことを強制したり、特定の設定を強制したりする可能性があるため、ドキュメントモードは役に立たないと思います。 IE9が7、8、9のいずれのモードであるかに関係なく存在し、テスト可能ないくつかのプロパティを持つことを期待しています。 追加するように編集… OK、私は今どこが間違っているのかわかります。「ブラウザーモード」ドロップダウンを使用して、IE8とIE7に切り替えて、それぞれ「IE8互換モード」と「IE7互換モード」だと思っていました。これはもちろん本当ではありません。開発者ツールのブラウザーモードは、実際には古いブラウザーに「似ている」ように切り替えているため、元のユーザーエージェント文字列が報告されるのは誤りです。 IE9またはIE9互換性のブラウザーモードをそのままにして、代わりにドキュメントモードのドロップダウンバリアントを試してみると、8つの組み合わせ(2つのブラウザーモードと4つのドキュメントモード)で「トライデント/5.0」が表示されます。ブラウザモードIE7とIE8は本当に(シミュレートされた)IE7とIE8なので、ブラウザモードの選択を避ける必要があります。 したがって、ページ、開発者以外のユーザー、メタタグ、またはMicrosoftの互換性リストがIE9をこの識別不可能な状態にすることはできません。 使用if(navigator.userAgent.indexOf("Trident/5")>-1)するだけで十分です。 心配しないでください、これはスタイル、フォーマット、ロジック、またはページコンテンツ用ではありません。私はそれらの機能検出を使用します。IE9を検出し(現在のモードに関係なく)、ページに関するコンテンツ以外の決定を行うだけです。 あなたの提案とリンクで答えに向かって私を導いてくれてありがとう。

4
IEの互換モードをサーバー側から強制的にオフに設定するにはどうすればよいですか?
ドメイン制御環境では、X-UAタグ、!DOCTYPE定義、および「IE = Edge」応答を提供している場合でも、特定のクライアント(winXP / Win7、IE8 / IE9)で互換モードがトリガーされることがわかりました。ヘッダー。これらのクライアントでは、[互換表示でイントラネットサイトを表示する]チェックボックスがオンになっています。これはまさに私がオーバーライドしようとしているものです。 以下は、IEが実際に互換モードをトリガーする方法を理解するために使用したドキュメントです。 http://msdn.microsoft.com/en-us/library/ff406036%28v=VS.85%29.aspx http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx サイトの所有者は常にコンテンツを管理しています。サイト所有者は、X-UA-Compatibleタグを使用して、サイトの表示方法を完全に宣言し、標準モードのページをIE7標準にマップすることを選択できます。X-UA-Compatibleタグを使用すると、クライアントの互換表示が上書きされます。 Googleは「ドキュメントの互換性を定義する」ために使用していますが、残念ながら、SPAMエンジンでは2つ以上のURLを投稿できません。 これはASP .NETWebアプリであり、マスターページに次の定義が含まれています。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> </head> そして web.config <system.webServer> <httpProtocol> <customHeaders> <clear /> <add name="X-UA-Compatible" value="IE=Edge" /> </customHeaders> </httpProtocol> </system.webServer> Fiddlerを使用して、ヘッダーが実際に正しく挿入されていることを確認しました。 私の理解では、これらの設定を使用すると、「互換表示でイントラネットサイトを表示する」ブラウザ設定を上書きできるはずです。しかし、クライアントによっては、互換モードをトリガーするものもあることがわかりました。また、異なるクライアントで同じ資格情報のセットを使用した場合でも異なる結果が得られるため、ポリシーグループ設定ではなくマシンレベルにまで低下しているようです。 [互換表示設定]チェックボックスを無効にするとうまくいきます。ただし、実際の目的は、クライアントの設定に関係なく、アプリがまったく同じ方法でレンダリングされるようにすることです。 何か考えや私が見逃している可能性があるものは何ですか?互換モードをトリガーせずにIEに常にページをレンダリングさせることは可能ですか? どうもありがとう、 ジャウメ PS:このサイトは現在開発中であり、もちろんMicrosoftの互換性リストには含まれていませんが、念のためチェックしました。 Googleの「互換表示リストを理解する」の場合、残念ながら、SPAMエンジンでは2つ以上のURLを投稿できません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.