0

IE9 でスクリプトをテストしています。$(document).ready が常に呼び出されているとは限らないことに気付きました。これは、$(document).ready によって参照される関数が 8 回に 1 回呼び出されていないことを意味します。

$(document).ready 呼び出しをドキュメントの最後に移動するとすぐに、完全に機能します。$(document).ready 呼び出しをセクションに移動した場合にのみ問題が発生します。

IE6でのこの問題を確認するブログ投稿を読みました 。

JQuery の評判を考えると、この問題には驚かされます。これは既知の問題/バグであり、JQuery の回避策ですか? または、何か不足していますか?

ありがとうございました、

アップデート:

この問題に関して更新したかっただけです:

スクリプトは他のブラウザ (Chrome と FF) では問題なく動作していましたが、私の開発マシンの IE だけが問題でした。IEをリセットすると(IS設定の詳細タブでリセットして復元すると)、 $(document).ready が期待どおりに機能し始めました。だから私は解決策を知っていますが、根本的な原因を知りたいです。

私は IE の不安定な動作に失望していますが、このケースには未回答の質問が残されています: IE の設定の 1 つが $(document).ready の動作を変更し、この投稿で説明した問題が発生します。この問題が発生した設定を知っている人はいますか?

4

2 に答える 2

0

jQuery 1.8.0 を使用しているようです。

jQuery 1.8.0 では、IE9 で ready メソッドが起動するのが早すぎるというバグが導入されました。

このバグは 1.8.1 で修正され、1.8.2 でも修正されています。現在 1.8.0 を使用している場合、これら 2 つのバージョンのいずれかにアップグレードすると、この問題が解決するはずです。

このバグは、1.8.1 http://blog.jquery.com/2012/08/30/jquery-1-8-1-released/のリリース ノートに記載されていました。

チケットはこちら: http://bugs.jquery.com/ticket/12282

于 2012-09-26T19:30:29.133 に答える
0

この問題を再現できました。問題は散発的です。私はデータテーブルとjqueryバージョンjquery-1.10.2を使用しています。ready イベントが発生していないことを確認しました。再現するために、IE ページはリンクを介してターゲット ウィンドウ名を開きます。
例:ページ#2に移動

リンクをクリックすると、データテーブルを含むページを含む新しいタブが開きます。この新しいページを page#2 と呼び、そのページを page#1 と呼びます。ページ#2を閉じません。ページ#1に戻り、もう一度リンクをクリックします。タブ (ページ #1 とページ #2​​) を切り替えると、ページ #2​​ がデータテーブル (テーブルのみ) でレンダリングされない 4 回の試行ごとに約 1 回確認できます。さらに、ブラウザ ウィンドウの左下のコアナーには、その黄色の感嘆符が表示されます。

于 2013-08-28T17:57:17.430 に答える