Webフレームワークで使用されるJSを開発しています。頻繁に他の開発者(エラーが発生する可能性が高い)のjQueryコードと混在しています。残念ながら、jQuery(document).readyブロックのエラーは、私の実行を妨げています。次の簡単なサンプルを取る:jQueryのエラー処理(ドキュメント).ready
<script type="text/javascript">
jQuery(document).ready(function() {
nosuchobject.fakemethod(); //intentionally cause major error
});
</script>
<script type="text/javascript">
jQuery(document).ready(function() {
alert("Hello!"); //never executed
});
</script>
二準備のブロックにかかわらず、前に何が起こったかの実行ではないでしょうか?以前のエラーの場合でも実行されるjQuery(ドキュメント).readyを実行する "安全な"方法はありますか?
EDIT:エラーが発生しやすいブロックは、他の作者によって書かれ、任意に混合されているため、コントロール/可視性がありません。
これは、バグの可能性のあるスクリプトの前後にかかわらず、うまく機能しているようです。私がやることは、準備ブロックの内容(サンプルのアラート(「こんにちは!」)をキャッチブロックの直後に移動することだと思います。そうすれば、私の準備ブロックは、前の準備ブロックの終わりに自分自身を「追加」することができます。 – 3hough
すばらしい解決策。決してそれを考えたことはありません。 –
私は何を考えていたのか分かりませんが、
タグであり、いくつかのonloadイベントではない限り、どこに行くにしてもうまくいくでしょう。私たちはDOMロードで呼び出される前にreadyメソッドをハイジャックしています。 – jvenema