web-dev-qa-db-ja.com

IE11でマシン名でサイトにアクセスすると、「オブジェクトはプロパティまたはメソッド 'querySelector'をサポートしていません」が表示される

ファイアウォール内のWindows Server 2012 R2ホストでIISに展開されたanglejsサイトがあります。サーバーにRDPし、そこから、

http://localhost/Foo 

iE11では、すべてが期待どおりに動作します;私のページはブラウザに提供されます。

しかし、私が閲覧しようとすると

http://servername/Foo

iE11では、angular.jsの1016行目からエラーがスローされます

「オブジェクトはプロパティまたはメソッド 'querySelector'をサポートしていません」

これはInternet Explorerでのみ発生します。
すべてがChromeおよびFirefoxで問題なくテストされました。

なぜこれが起こっているのか、それを修正するために何ができるのかについての手がかりはありますか?

18
K. Alan Bates

この問題の解決策は、

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />

タグ最初のアイテムとしてHeadで。

メタタグは、IEのエッジモードを取得するための先頭のタグである必要があります。そうでない場合、IEを指示するDOCTYPEを無視します癖モードに陥らないようにしてください。

展開時にメタタグを後付けとして含め、頭の下部に入力しました。

MSDN |レガシードキュメントモードの指定

X-UA-Compatibleヘッダーは大文字と小文字を区別しません。ただし、Webページのヘッダー(HEADセクション)のタイトル要素とその他のメタ要素を除く他のすべての要素の前に表示する必要があります。

Internet Explorerのデフォルトの互換性設定により、内部サイトと外部サイトのIE to silently bebehave be different]が発生します。

X-UA-Compatibleメタタグを設定すると、互換性設定を管理する必要なく、ブラウザーがエッジモードで内部サイトを受信する必要があることを明示的に宣言しますが、この効果を得るには、ヘッダーを最初のタグとして指定する必要があります。

43
K. Alan Bates

アクセスしようとしているイントラネットとサイトの互換表示モードを無効にすると、問題が解決します。

2
user5342757