0

今まで遭遇した中で最も奇妙な問題が発生しました。

会社で概念実証アプリを作成しました。したがって、バックエンドはなく、Angular JS で構築されたデモ フロントエンドのみです。私はプロジェクトを yeoman で schaffolded し、うなり声でビルドしました。ローカルでは完全に機能します。

会社の社内サーバーにデプロイしました。また、IE9を除くすべてのブラウザーで動作します。

コンソールで私は得る

SCRIPT438: Egenskapen eller metoden addEventListener stöds inte av objektet 
jquery.min.js, rad 4 tecken 6105

SCRIPT5009: jQuery har inte definierats 
jquery-ui.min.js, rad 5 tecken 1

SCRIPT5009: jQuery har inte definierats 
1bd2ba7a.scripts.js, rad 1 tecken 28462

SCRIPT445: Objektet kan inte hantera denna åtgärd. 
angular.min.js, rad 23 tecken 453

スウェーデン語ですが、ご理解いただければ幸いです。

次に、さらに奇妙な部分に進みます。外部サーバーにデプロイしてみました。しかもIE9で動く!

私が言ったように、私はサーバー コードを持っていないので、不足しているインストールはありません。また、私は CDN:s を持っていません。すべてがローカルです。

これをデバッグする方法を知っている人はいますか? 私は立ち往生しています。

4

2 に答える 2

0

問題が解決しました。問題は、互換モードでイントラネット ページを実行するように IE が設定されていたことです。これは、ツール -> 互換モードにあるオプションです。このオプションは、当社の IT 部門によって一元的に有効化されました。理由は、古い内部アプリが機能するためにこれが必要だったからです。したがって、この場合の解決策は、アプリを外部サーバーにデプロイすることでした。

于 2013-10-02T19:16:09.493 に答える
0

Yeoman scaffolded Angularjs プロジェクトで、私はあなたと同じ問題に遭遇しました。米国連邦政府も、すべての内部サイトに IE 互換モードを設定していることが判明しました。IE 互換モード (IE9) では、Angularjs アプリの index.html ページがレンダリングされませんでした。

実験の結果、次の Yeoman が作成したボイラープレートを削除すると、何か面白いことが起こることがわかりました。IE は互換モードから標準モードに移行し、アプリは正常にレンダリングされて実行されます。削除するボイラープレートは次のとおりです。

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

Yeoman プロジェクトに関連する IE 互換モードの問題の解決策を探してこのページに移動した場合に備えて、私が行ったように、他の人に役立つ可能性がある場合に備えて、ここに私の経験を記録したいと思います。

上記の if/endif を HTML5 if/endif でラップすることにより、問題 (IE8 の問題) に対処するこの別の方法を見つけました:イントラネット互換モード IE8 をオーバーライドする

この問題を開いていただきありがとうございます。

于 2014-08-24T20:49:50.290 に答える