2012-12-17 25 views
7

Tôi có HTML và tôi cần lấy nguồn trang của html này.Javascript: Nhận trang hiện tại CURRENT source

document.documentElement.outerHTML 

hoặc

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

đang làm việc, nhưng họ hiển thị ban đầu nguồn. Nếu tôi thay đổi html (bởi jQuery, ví dụ), họ không đọc những thay đổi của tôi.

Có thể đọc nguồn trang CURRENT không?

+2

Bạn không muốn Nguồn, nhưng DOM? – EricG

+0

có thể, bạn phải – indapublic

+0

Làm thế nào về 'document.getElementsByTagName (" HTML ") [0] .outerHTML'? – EricG

Trả lời

5

Sử dụng jQuery bạn có thể làm điều này bằng cách:

$('body').html(); 

Ví dụ.

Hoặc chuyển sang String:

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

'body.parentNode' ..? – EricG

+0

nó không phải là toàn bộ trang, tôi đoán? – indapublic

+0

@indapublic là nội dung của nó, để sử dụng HTML '$ ('html')' – antyrat

1

Bạn chỉ cần lấy phần tử và sử dụng phương pháp html:

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

Thử nó trên chrome và nó hoạt động. Sử dụng

document.documentElement.innerHTML 

Funnily đủ mã của bạn cũng làm việc

document.documentElement.outerHTML 

Check-out html in ra cửa sổ Console trong fiddle này. Nó thực sự chứa các thay đổi được thực hiện bởi jQuery.

+0

Lưu ý rằng điều này sẽ bao gồm điều đó đã được thực hiện cho DOM. Ví dụ: một số plugin chèn HTML và nếu bạn đổi kích thước