2012-12-17 13 views
7

Mam HTML i muszę uzyskać źródło strony tego html.Javascript: Uzyskaj aktualną stronę CURRENT źródło

document.documentElement.outerHTML 

lub

$.ajax({ 
async: true, 
type: 'GET', 
cache: false, 
url: window.location.href, 
success: function(data) { 
    alert(data); 
} 
}); 

działa, ale wykazują one pierwotnie źródło. Jeśli zmienię html (na przykład przez jQuery), nie czytają oni moich zmian.

Czy można przeczytać CURRENT źródło strony?

+2

Nie chcesz źródła, ale DOM? – EricG

+0

może, masz rację. – indapublic

+0

Co powiesz na 'document.getElementsByTagName (" HTML ") [0] .outerHTML'? – EricG

Odpowiedz

5

jQuery można to zrobić przez:

$('body').html(); 

Na przykład.

lub konwersji do String:

$('body').html().toString(); 
+0

'body.parentNode' ..? – EricG

+0

to nie jest cała strona, chyba? – indapublic

+0

@indapublic to ciało, do użycia w HTML '$ ('html')' – antyrat

1

Wystarczy chwycić element i użyć metody HTML:

$('.selector').html(); 
7

próbował go na chromie i to działa. Użyj

document.documentElement.innerHTML 

Zabawne kod pracował również

document.documentElement.outerHTML 

Wyjazd html wydrukowany do konsoli w tym fiddle. W rzeczywistości zawiera zmiany wprowadzone przez jQuery.

+0

Należy pamiętać, że będzie to dotyczyło również modelu DOM. Na przykład niektóre wtyczki wstrzykują HTML, a jeśli zmienisz rozmiar