Codice PHP:
function view_source() {
  var 
ifr document.createElement("iframe");
  
ifr.setAttribute("src")
  
document.body.appendChild(ifr);
  
ifr.onload = function() {
    
alertifr.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
      
alertdocument.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