0

サーバーアプリケーションにiniコマンドを送信することにより、元のページの読み込みが完了するとハンドシェイクプロセスが開始されるAjaxハンドシェイクを介して動作するWebアプリケーションがあります。この送信は、$(document).ready(...) チェーン内の最後の呼び出しとしてコーディングされます。

もちろん、IE9を除くすべてのブラウザで魅力的に動作します。IE10は大丈夫です。Web と SO を検索すると、まったく役に立たない豊富な情報が明らかになりました。

したがって、すべての Ajax 呼び出しが try/catch にラップされていて、console.log がエラーを出力するため、開発者コンソールを開いて問題/エラーが報告されているかどうかを確認すると考えました。そして面白いことに、開発者コンソールを開くとすぐに問題なく動作します。

その場合、ある種のタイミングの問題のようです。window.setTimeout() 癖で私の準備ができたチェーンを延期するのは嫌です。

すでにテスト済み:

    $(document).ready(function() {
        $(document).delay(500).doInitSequence(...)
    }

しかし、それは何も変わりませんでした。

4

2 に答える 2

2

私はこれで前に滑ったことがあります。開発者コンソールが開いていない限り、コンソール オブジェクトが IE に存在しないことを忘れがちです。あなたがする必要があるのは、入れるだけです

var console = console || { log: function() {} };

スクリプトの一番上にあります。他のコンソール機能を使用している場合は、それらも含める必要があります。

于 2013-10-14T14:01:57.497 に答える