Codice PHP:
function view_source() {
var ifr = document.createElement("iframe");
ifr.setAttribute("src")
document.body.appendChild(ifr);
ifr.onload = function() {
alert( ifr.contentWindow.document.body.innerHTML );
}
}
In realtà così facendo prendi il codice solo del body... Se vuoi prendere quello di tutta la pagina è un pò più complicato:
Codice PHP:
function view_source() {
var ifr = document.createElement("iframe");
ifr.setAttribute("src")
document.body.appendChild(ifr);
ifr.onload = function() {
if(XMLSerializer)
alert( (new XMLSerializer()).serializeToString(document) );
else
alert( document.documentElement.outerHTML );
}
}
Ci sono cmq vari difetti: in IE il doctype non viene incluso nel codice, inoltre sia outerHTML sia l' XMLserializer hanno l'abitudine di mettere il maiuscolo ai tag...
Forse il modo più semplice è usare una richiesta ajax e leggerne il responseText.
Se vuoi adottare questa soluzione fatti un giro su javascript.html.it