0

XHR を使用して Web ページをダウンロードし、(document.write() を使用して) ブラウザーでレンダリングしようとしていますが、これを行うと、ページは表示されますが、jQuery の ready() 関数は実行されません。まったく同じページを直接ダウンロードすると、実行されます。XHR を介して配信されたページで ready() 関数を実行するために必要なことはありますか?

4

1 に答える 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 に答える