Это может быть немного сложно, потому что браузеры ведут себя по-разному в ситуации, когда вы передаете весь HTML-документ в объект jQuery.
В зависимости от того, какой браузер вы используете, некоторые теги (включая <body>
)в некоторых случаях) будет удалено.
Хотя вы можете просто добавить весь HTML-документ к текущему <body>
и надеяться, что браузер поступит правильно, было бы лучше, чтобы ваш сервер возвращал толькосодержимое, которое вы на самом деле хотите.
РЕДАКТИРОВАТЬ: Если вы не можете изменить HTML, исходящий из источника, вы можете попробовать это, чтобы сделать его немного более безопасным:
var $data = $(data);
var $contents;
if( $data.filter('body').length ) {
$contents = $data.filter('body').contents();
} else if( $data.find('body').length ) {
$contents = $data.find('body').contents();
} else {
$contents = $data;
}
$(document.body).empty().append( $contents );