2010-10-24 9 views
5

Ho bisogno di ottenere l'intero contenuto di una pagina con javascript e inviarlo a uno script del server per salvarlo. Voglio farlo dopo che l'utente ha apportato alcune modifiche alla pagina utilizzando AJAX e altri strumenti javascript. Non voglio lo stato di determinati elementi. Mi piacerebbe essenzialmente ottenere tutto all'interno del tag body in modo da poterlo passare a uno script sul lato server. Ho provato getelementbyid ecc. Ma sembra che metta la pagina in loop e si blocchi.Posso acquisire e salvare lo stato corrente di una pagina web utilizzando javascript

Grazie

+1

puoi pubblicare il codice che ti riferisci? – InSane

+0

Penso che puoi parlare dell'albero partendo dal nodo HTML e ottenere tutte le informazioni e inviarlo al tuo sito usando Javascript, se la pagina è anche la pagina del tuo sito web. Ma farlo è quasi come avviare Firefox salvando tutti i dati della RAM e del sistema operativo sul disco rigido e ripristinandoli (come in Ibernazione del computer). Di solito è meglio se si salvano alcuni stati o flag e li si memorizza e si ri-rende di conseguenza la pagina. Oppure usa AJAX Bookmark and History se è per questo che ti serve. –

+0

Hai trovato una soluzione? – netadictos

risposta

2

Certo che puoi, se vuoi. C'è un elemento dell'albero DOM chiamato "documento" contenente l'intero documento. Ci sono modi per tradurre un albero DOM in HTML nella maggior parte delle librerie; applicandolo al nodo document dovrebbe fare il lavoro.

Alcuni pirati informatici su linee lunghe dovrebbero portarti sulla giusta strada.

Ma hai davvero bisogno di fare ? Perché?

+0

Beh..it è un po 'pazzo ... ma mi è venuto in mente che potevo creare un CMS estremamente pigro per un sito statico. Metterò semplicemente ckeditor su ogni pagina quando l'utente ha terminato le modifiche. Io salverò l'intera pagina come una pagina html statica. La conversione dovrebbe essere facile, basta aggiungere qualche login di base e fatto. – Dogbot

+0

Non è affatto matto, questo è fondamentalmente come funziona un wiki. Dovrebbe essere divertente da vedere; fammi sapere. –

+0

Come useresti la dom tree per salvare lo stato di tutte le variabili JavaScript nella pagina? –

4

provare il seguente codice:

var body = document.getElementsByTagName("body"); 
var bodycontent = body[0]; 

utilizzare "bodycontent.innerHTML" per recuperare il contenuto di esso. Se non sbaglio, dovrebbe fornire il contenuto attuale del corpo, dopo ogni modifica di javascript che è stata fatta ad esso.

+2

alternativamente, "body [0] .innerHTML" funzionerebbe, se si volesse eliminare la variabile "bodycontent", o se si volesse essere molto concisi, si potrebbe semplicemente usare "document.getElementsByTagName (" body ") [0] .innerHTML "per accedere ai contenuti senza utilizzare alcuna variabile - funziona, ma è un po 'meno facile da leggere;) –

+0

fantastico, proverò questi oggi! – Dogbot

+0

Questo salverà anche le modifiche a tutte le funzioni e le variabili JavaScript? In alcuni casi, potrebbe essere necessaria la memorizzazione permanente delle variabili JavaScript. –

2

Dovrebbe funzionare semplicemente in questo modo:

javascript: document.body.innerHTML;

jQuery:. $ ("corpo") innerHTML

+0

cool, sto già leggendo jQuery sulle mie pagine. Grazie – Dogbot

Problemi correlati