Есть ли способ использовать селектор jQuery, чтобы получить ту же строку, что возвращена document.documentElement.outerHTML? - PullRequest
0 голосов
/ 18 февраля 2011

Мне было интересно, есть ли альтернатива использованию Javascript: document.documentElement.outerHTML, которая, возможно, использует селектор jQuery и другие методы jQuery, если они существуют.Или, если есть другие более эффективные способы получения строки, содержащей весь исходный код веб-страницы, с использованием Javascript и / или Jquery.

Ответы [ 3 ]

2 голосов
/ 18 февраля 2011
var source = "<html>" + $("html").html() + "</html>";

Это был быстрый и простой способ, но, как кто-то сказал, он будет возвращать только HTML в тегах <html></html>.Сюда не входят вещи, найденные вне тегов <html></html>, например, doctype.

Чтобы получить все, вы можете использовать jQuery.ajax(), чтобы запросить страницу и получить весь шебанг.

var source = 'Unable to retrieve source code';
$.ajax(
    "your/webpage/here.html",
    {
        async    : false,
        success  : function(data) {source = data;}
    }
);
alert(source);    // or whatever

Запрос был сделан синхронно, в этом примере, чтобы мы могли делать что угодно с источником после возврата запроса.Вы можете сделать вызов асинхронно и поместить весь свой код в функцию успеха.

Вот скрипка
http://jsfiddle.net/4rkdF/

0 голосов
/ 18 февраля 2011

пример разметки:

<div id="help"> help </div>

jQuery

var outerHTML = $('<div>').html($('#help')).html();

создать <div> на лету, используя $('<div>').Тогда получите <div id="help"> на $('#help').После этого поместите $('#help') внутри созданного div.И получите html созданного div.

0 голосов
/ 18 февраля 2011

Используя только jQuery, я бы, наверное, сделал что-то вроде этого:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...