Я пытаюсь получить согласованный, перекрестный браузер outerHtml для элемента jQuery, в частности $("html").outerHtml()
. Например, если исходная страница это:Есть ли способ получить лучший способ получить внешнийHtml?
<html><script src="blah.js"></script><div class="foo" id='bar'></p></div></html>
Я хочу, чтобы иметь возможность использовать $("html").outerHtml();
, чтобы получить HTML строку в том числе и сам элемент, который был бы:
<html><script src="blah.js"></script><div class="foo" id="bar"><p></p></div></html>
Я использую Brandon Аарон outerHtml plugin который выглядит примерно так:
return $('<div>').append($("html").first().clone()).html();
Однако это, кажется, на самом деле пытается перезагрузить любые внешние ссылки файлов в документе (сценарии, stylesheets), который кажется довольно чрезмерным только для того, чтобы получить HTML-код элемента оболочки. Может ли Javascript помещать HTML-элемент внутри элемента DIV?
Локально, я получаю эту ошибку. Что-то связанное с правилами AJAX?
XMLHttpRequest не может загрузить файл: /// C: /demo.js? _ = 1311466511031. Происхождение null не разрешено Access-Control-Allow-Origin.
Есть ли лучший способ получить внешнийHtml? Я бы очень хотел избежать сетевых вызовов при этом.
Вы уверены, что не хотите * внутреннего * HTML-кода 'body'? Какова ваша целевая цель с этими данными? –
Да, очень точно. Я проверяю HTML или HTML-фрагменты. Да, я знаю, что это не то же самое, что и источник HTML. – peterjwest
Вы всегда можете сделать отдельный HTTP-запрос для размещения документа при поиске синтаксического анализа HTML в целом. Однако это не решает проблему для фрагментов. –