2009-05-14 18 views
4

So ist es möglich, den gesamten Inhalt einer Seite in seinem aktuellen Zustand zu erfassen. Wenn Sie beispielsweise über jquery mit einer Seite interagieren, habe ich das Dokument entweder durch Einfügen von Inhalt oder durch Hinzufügen oder Entfernen von Klassennamen geändert. Ist es möglich, das Markup dieses Dokuments in seiner aktuellen Form vom HTML-Tag zum HTML-Tag zu bekommen?Gesamten Inhalt der Seite abrufen?

Antwort

5

Können Sie nicht einfach das Root-Objekt im DOM abrufen und innerHTML aufrufen, um alles zu bekommen?

+1

Ja können wir! - Ich glaube, ich habe diesen Satz woanders gehört – Richard

+1

Oder Dora the Explorer –

+1

Nein, warte, das ist "Wir können es tun, nichts daran!" - Und es ist Diego, nicht Dora. * seufz * –

7

So etwas wie

document.documentElement.innerHTML 

Dies gilt nicht für die <html> Öffnen und Schließen Tags

+3

Ich denke, auf IE können Sie document.documentElement.outerHTML verwenden und müssen nicht "" und "" hinzufügen. –

4

nur $ ('html') nennen. Html() mit Jquery Seite Quelle zu erhalten.

<html> 
<head> 
    <title>Just a test</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(function() { 
      $('#showContent').click(function(event){ 
       event.preventDefault(); 
       var pageSource = '<html>' + $('html').html() +'</html>'; 
       alert(pageSource); 
      }); 
    }); 
    </script> 
</head> 
<body> 
    <a href="#" id="showContent" >show content</a> 
</body> 
</html> 
+4

Das rockt, aber gibt es einen Weg, um die Tags und anderen Text auf der Seite zu bekommen? zB: DOCTYPE-Deklarationen usw.? Ich arbeite an einem "passiven" Markup Scraper für W3C Validierungsanliegen und muss Zugriff auf die vollständige, gerenderte HTML der Seite angezeigt werden. – kdawg

+1

Ich bin auch sehr interessiert, wenn JS die gesamte _Rendered_ Seite bekommen kann, möglicherweise einschließlich Formularfelder mit eingegebenen Benutzerdaten. Wenn dies möglich ist, sieht dies wie ein riesiges Sicherheitsproblem aus, wenn es um Skripte von Drittanbietern wie Anzeigen geht. –

Verwandte Themen