1

他の質問も読みました

window.location.hrefの後にjQuery $(document).ready()が起動しない

jQuery $(document).ready() が起動しない

$(document).ready が起動しないのはなぜですか?

それでも、解決策はどれも機能していないようです...

私の問題は、リダイレクト後に jQuery $(document).ready() が Firefox で起動せず、他のブラウザーで起動することです。キャッシュされないようにするために最後に時間変数が追加されているため、jsがロードされることはわかっています。

$(window).load() を使用して同じ結果を得ようとしました。Firebug はエラーを表示せず、スクリプトがロードされていることを示していますが、ready() 関数に配置されたブレークポイントはトリガーされません。

Firefox に何らかのセキュリティ制限があり、それが問題を引き起こしている可能性がありますか? もしそうなら、どうすればそれらを回避できますか?

4

2 に答える 2

0

私がより良い代替案を見つけることができるまで<body onUnload="">、FF5で私のために働きます。あなたの問題はこの修正を少し超えるかもしれないと思いますか?

于 2011-07-22T21:00:17.820 に答える
0

戻る/進むを使用するときに同じ問題が発生しました。戻る/進むでこの問題が発生しない場合は、おそらくタイプミスです。しかし、これは Firefox の奇妙な動作である可能性があります。

これは、戻るボタンでは機能しない簡単な例です (つまり、イベントは発生せず、リダイレクトは関係ありません)。

    <!DOCTYPE html>
    <html>
    <head>
    <title>Simplest JQuery</title>
    <script type="text/javascript" src="jquery-1.6.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        alert("document.ready");
    });
    </script>
    </head>
    <body>
    <div>
    Firefox will not fire document ready on back/forward navigation. Except when it 
    does.<br />
    <a href="navigate-nowhere.html">Go!</a>
    </div>
    </body>
    </html>

異なるマシンで同じコードから異なる動作を取得しているため、Firefox は間違いなくいくつかのバグを示しています。最新の FF5 では、Windows 7 または Leopard では動作しません。私は Snow Leopard に別のマシンを持っており、缶に書かれているように動作します。

問題は JQuery でもありません。ドロップして addEventListener を使用しても効果はありません。インライン イベント (つまり、body タグの onload 経由) を使用しても効果はありません。ここに記載されている「空のアンロード」トリックも機能しません。

拡張機能の問題でもありません。すべてオフにしてみました。何も変更せずに、Leopard マシンにクリーン インストールを試みました。

興味深いことに、リンクがまだページ内で強調表示されていない限り、focus/onfocus イベントは機能します。その場合、window.onblur イベントは後で発生しますが、それはタブを使用してフォーカスを変更した場合のみです。

于 2011-07-01T21:01:06.880 に答える