IE11 で開発者ツールを起動していないと ConsoleAPI や Ajax 通信が期待した挙動をしない

投稿者: Anonymous

(諸般の事情で該当のコードなどを提示することができないのですが、問題解決のために必要であれば別途用意いたします)

表題の通り、InternetExplorer 11 において、開発者ツールを立ち上げていないと期待した挙動をしない問題に直面しております。

いずれも JavaScript の絡んだ処理でしたので、ドキュメントモードなどが原因かと思いましたが、 meta タグを用いて以下のようにドキュメントモードを明示的に指定しても期待した動きになりませんでした。

<meta http-equiv="X-UA-Compatible" content="IE=edge">

開発者ツールを立ち上げると、リロードもせずに期待した動きをするようになります。
問題の切り分け、原因として何が考えられるでしょうか。

なお、 Firefox、GoogleChrome ではとくに問題なく動作いたします。

追記:ご指摘をうけ、利用している JavaScript のライブラリ、フレームワークを追記しました。

  • jQuery 2.1.4
  • Backbone.js 1.2.1
  • Marionette.js 2.3.1
  • lodash.js 3.8.0

追記2:調査を進めた結果、サーバーに問い合わせが発生する箇所で、本来サーバーに記録されるログすらも生成されていないことが判明しました。
これらは全て Ajax 通信によるやりとりのもので、やはり開発者ツールを立ち上げると正常にログが記録されておりました。

解決

開発者ツールを立ち上げていないと期待した挙動をしない問題

この部分がどの様な現象かわからないので、推測になりますが…

サーバーに問い合わせが発生する箇所で、本来サーバーに記録されるログすらも生成されていない

IEのajaxのキャッシュの問題ではないでしょうか?

$.ajaxSetup({
    cache: false, // こいつを追加
});

参考サイト
http://www.tailtension.com/jquery/1384/
http://nobnoob.hatenablog.com/entry/2013/03/10/080419
他にも「ie ajax キャッシュ」で検索すると沢山出てきます。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *