Domanda

Sto scrivendo un'applicazione che consentirebbe agli utenti di modificare un calendario, la sua descrizione e alcune altre cose. Sto usando jquery, php e mysql. Ogni volta che l'utente apporta una modifica, aggiorna in modo asincrono il database.

Vorrei dare loro la possibilità di trasformare ciò che trasformano in un pdf. Esiste un modo per pubblicare sul mio server il codice HTML non elaborato della pagina dopo che l'utente ha apportato modifiche?

Potrei rigenerare la pagina usando solo php sul server, ma in questo modo sarebbe più semplice se possibile.

È stato utile?

Soluzione

Puoi usarlo per ottenere la maggior parte del codice HTML per la pagina:

var htmlSource = document.getElementsByTagName('html')[0].innerHTML;

Tuttavia mancherà l'apertura e la chiusura di tag e doctype HTML, il che probabilmente non ti interesserà in quanto potresti ricrearlo facilmente sul server.

Suppongo che puoi semplicemente usare lo stesso AJAX che stai già utilizzando per inviare htmlSource al server dopo averlo preso.

Altri suggerimenti

Puoi certamente restituire innerHTML da jQuery qualsiasi oggetto che puoi selezionare, anche se non sembra il modo migliore per andare (vedi altre risposte per alternative).

Fai attenzione a attacchi XSS . Se esegui semplicemente l'HTML avanti e indietro senza prima controllarlo, ti stai lasciando aperto a grossi rischi.

Rigenerare la pagina dal server sarà la tua scommessa migliore. Per avere una buona esperienza di download, ti consigliamo di inviare intestazioni per Tipo di contenuto e dimensioni.

Per rispondere alla tua domanda, vorrei utilizzare buffering dell'output per catturare l'output dei tuoi script e quindi utilizzare uno dei tanti strumenti disponibili per trasformare HTML in PDF.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top