M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Internet Explorer 11とイントラネット上のAngularJS 1.xアプリの組合せでエラー

Internet Explorer 11イントラネット上のAngularJS 1.xアプリを表示すると画面がまっしろのまま何も表示されません。開発者ツールで確認すると「Nodeは未定義です」的なエラーが発生していることが確認できます。

Google先生に聞くと同様の問題に遭遇したひとによるstackoverflowのポストが見つかりました:

Using Angular JS on IE11 is causing "Node is undefined" error. This is the script. (...)

Works fine on Firefox and Chrome. Checked everywhere for IE11 related problems with Angular JS. Any help is appreciated.

Thankx

(IE11でAngulrJSを使ったところ「Nodeは未定義です」というエラーが発生しました。スクリプトは次の通り…中略…FirefoxChromeではちゃんと動きました。AngularJSのIE11関連の問題はたいがい調べましたが…。解決に力を貸してください。よろしくお願いします。)

これに対して回答が1件あり:

I had the same problem and found a solution. In my case I was testing with my app running from a local (intranet) server, and IE11 was set to run intranet sites in "compatibility view" mode. Changing that made the problem go away.

To do this just click on the gear icon, and then select "Compatibility View settings" from the menu. In the dialog that comes up make sure "Display intranet sites in Compatibility View" is unchecked and close it.

(私も同じ問題に遭遇し、解決策を見つけました。私の場合、アプリケーションをローカル(イントラネット)環境のサーバで稼働させてテストしていました。そしてIE11はイントラネット上のサイトを「互換表示」モードで処理していたのです。この設定を変えれば問題は解消します。そのためにはまずIEのウィンドウの右上、歯車のアイコンをクリックし、表示されたメニューから「互換表示設定」を選びます。ダイアログが表示されるので、[イントラネット サイトを互換表示で表示する]のチェックをOFFにします。)

私の場合はこの方法で解決できました。デフォルトで互換表示モードで処理されてしまっていたため、JavaScriptランタイム上にAngularJSが必要とするオブジェクトがなかったことで問題が発生していたようです。