2009-05-14 9 views
4

Il est donc possible d'accrocher tout le contenu d'une page dans son état actuel. Par exemple, si vous interagissez avec une page, via jquery, j'ai modifié le document en insérant du contenu ou en ajoutant ou supprimant des noms de classe. Est-il possible d'obtenir le balisage de ce document dans sa forme actuelle de commencer balise html à balise html? Vous ne pouvez pas simplement obtenir l'objet racine dans le DOM et appeler innerHTML pour l'obtenir tout?Obtenez tout le contenu de la page?

Répondre

5

?

+1

Oui, nous pouvons! - Je pense avoir entendu cette phrase ailleurs – Richard

+1

Ou Dora l'exploratrice –

+1

Pas d'attente, c'est "On peut le faire, rien à faire!" - et c'est Diego, pas Dora. * soupir * –

7

Quelque chose comme

document.documentElement.innerHTML 

Cela ne comprend pas les <html> balises d'ouverture et de fermeture

+3

Je pense que sur IE, vous pouvez utiliser document.documentElement.outerHTML et ne pas avoir à ajouter "" et "". –

4

il suffit d'appeler $ ('html'). Html() en utilisant jquery pour obtenir la source de la page.

<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

Ça bouge, mais y a-t-il un moyen d'obtenir les balises et tout autre texte dans la page? c'est à dire: déclarations DOCTYPE, etc? Je travaille sur un grattoir de balisage "passif" pour les problèmes de validation de w3c et j'ai besoin d'avoir accès au html complet et rendu de la page affichée. – kdawg

+1

Je suis également très intéressé si JS peut obtenir toute la page _rendered_, incluant éventuellement des champs de formulaire avec des données utilisateur saisies. Si cela est possible, cela ressemble à un énorme problème de sécurité lorsqu'il s'agit de scripts tiers, tels que les publicités. –

Questions connexes