XHR を使用して Web ページをダウンロードし、(document.write() を使用して) ブラウザーでレンダリングしようとしていますが、これを行うと、ページは表示されますが、jQuery の ready() 関数は実行されません。まったく同じページを直接ダウンロードすると、実行されます。XHR を介して配信されたページで ready() 関数を実行するために必要なことはありますか?
1 に答える
3
document.write()
ページの内容を置き換えるために使用しないでください。涙で終わります。
適切な最上位要素を見つけて.replaceWith()
、既存のコンテンツを削除し、XHR から取得した新しいコンテンツを含めるために使用します。
$.get(url, function(html) {
$(body).replaceWith($(html).find('body'));
});
これは を置き換えたり<head>
、新しいコンテンツに含まれる可能性のある追加の Javascript ブロックを実行したりしないことに注意してください。
使用することもできます.load()
$(body).load(url);
于 2012-11-02T14:33:25.047 に答える