L'esecuzione di JavaScript per il Rendering HTML Lato Server di Caching
-
08-06-2019 - |
Domanda
Ci sono un sacco di widget forniti da siti che sono effettivamente bit di JavaScript che genera il HTML attraverso DOM manipolazione o document.write()
.Piuttosto che rallentare il browser giù ancora di più con le richieste aggiuntive e fiducia ancora un altro provider per essere veloce, affidabile e non modificare il widget di uscita, voglio eseguire* il JavaScript per generare l'HTML, e quindi salvare il sorgente HTML.
Cose che abbiamo visto in che sembra impossibile o troppo difficile:
- I Collegamenti Del Browser (non lynx!)
- Headless uso di Xvfb plus Firefox plus Greasemonkey (yikes)
- Tutti i browser di Java toolkit Cobra (la soluzione migliore!)
Tutte le idee?
** Ovviamente non è davvero possibile eseguire il JavaScript completamente, in quanto non hanno necessariamente un percorso di uscita, ma si ottiene l'idea.
Soluzione
Wikipedia "JavaScript lato Server" articolo elenca numerose implementazioni, molti dei quali sono basati su Mozilla Rhino JavaScript-per-Java converter, o il suo cugino SpiderMonkey (lo stesso motore trovato in Firefox e altri browser basati su Gecko).In particolare, qualcosa di semplice come mod_js per Apache possono soddisfare le vostre esigenze.
Altri suggerimenti
Se stai usando solo pianura JS, Rhino dovrebbe fare il trucco.Ma se il codice JS è in realtà la chiamata di metodi DOM e così via, si sta andando ad avere bisogno di una vera e propria browser. Piede di porco potrebbe aiutarti.
Questo è davvero andando a fare le cose più veloce per gli utenti senza causare problemi di compatibilità?
C'è John Resig del progetto Portare il Browser al Server:"browser/DOM ambiente, scritto in JavaScript, che viene eseguito su Rhino;in grado di eseguire jQuery, Prototype, e MochiKit (almeno)."