2009-06-11 20 views

Respuesta

54

Usted podría intentar:

$("html").html(); 

Si desea capturar también las etiquetas HMTL que podría concatenar a la html así:

function getPageHTML() { 
    return "<html>" + $("html").html() + "</html>"; 
} 
+0

Thanks !! Eso funcionó perfectamente !! –

+0

¿qué tal obtener el doctype? –

+0

@Sebastian No estoy seguro si puede, vea [esta respuesta] (http://stackoverflow.com/questions/3043820/jquery-check-doctype) –

2

$("html").html() obtendría todo, pero el más exterior html etiquetas.

4

Uso:

document.body.innerHTML 
+2

Si quiere todo el documento html, debe usar: 'window.document.innerHTML' – simo

+2

@simo:' document' no tiene una propiedad 'innerHTML' en ningún navegador que aún use. – cHao

60

no se olvide de la etiqueta <html> pueden tener atributos también. Si quieres el documento completo, esto debería funcionar.

$('html')[0].outerHTML 

También es trivial sin jQuery.

document.documentElement.outerHTML 

Si también desea include the doctype, que es un poco más complicado.

var getDocTypeAsString = function() { 
    var node = document.doctype; 
    return node ? "<!DOCTYPE " 
     + node.name 
     + (node.publicId ? ' PUBLIC "' + node.publicId + '"' : '') 
     + (!node.publicId && node.systemId ? ' SYSTEM' : '') 
     + (node.systemId ? ' "' + node.systemId + '"' : '') 
     + '>\n' : ''; 
}; 

getDocTypeAsString() + document.documentElement.outerHTML 
Cuestiones relacionadas