JavaScriptを使用してページ全体を別のページに置き換えることをテストしているところですが、この答えはdocument.write. 理由についてdocument.writeは、同じページを使用するスクリプトとスタイルを含む HTML 全体を置き換える必要がありました。
それは私が望むことをしますが、イベントハンドラーとの一貫性がないようです。私のハンドラーはすべて以下をdocument使用することに接続されています:
$(document).delegate(...);
現在、私は奇妙な結果を持っています。私が作ったフィドルでは、ハンドラーをアタッチします。クリックすると、イベントが発生し、ページが書き換えられ、関数が再度実行されますが、ハンドラーはアタッチされません。
ただし、私のプロジェクトでは、同じルーチンを実行しています ( d.w()、次にハンドラーを追加します)。一度再アタッチするとハンドラーは機能しますが、2 番目のルーチンを実行した後 (同じページで)、もうアタッチされません。
だから私の質問は:
- を使用する場合
d.w()、既存のハンドラは から消去されdocumentますか? - 後続の s の後
windowも同じですか? それとも何らかの形で「更新」されていますかdocumentd.w() - 既に解析されたスクリプトはメモリに残り、後続
d.w()の の後に実行されますか? それともそれらも消去されますか?