Ausführen von JavaScript zum Rendern von HTML für serverseitiges Caching

8

Es gibt viele Widgets, die von Sites bereitgestellt werden, die effektiv Bits von JavaScript sind, die HTML durch DOM Manipulation oder document.write() generieren. Anstatt den Browser mit zusätzlichen Anfragen noch langsamer zu machen und einem anderen Anbieter zu vertrauen, dass er schnell und zuverlässig ist und die Widgetausgabe nicht ändert, möchte ich * das JavaScript ausführen, um das gerenderte HTML zu generieren und diese HTML-Quelle dann zu speichern. p>

Dinge, die ich untersucht habe, scheinen nicht oder viel zu schwierig zu sein:

  1. Der Links Browser ( nicht lynx! )
  2. Kopflose Verwendung von Xvfb plus Firefox plus Greasemonkey ( yikes )
  3. Das Java-Browser-Toolkit Cobra ( die beste Wette! )

Irgendwelche Ideen?

** Sie können das JavaScript natürlich nicht vollständig ausführen, da es nicht unbedingt einen Exit-Pfad hat, aber Sie bekommen die Idee.

    
m87 18.08.2008, 18:01
quelle

3 Antworten

2

Der Wikipedia "Server-Side JavaScript" -Artikel listet zahlreiche Implementierungen auf, von denen viele auf Mozillas basieren > Rhino JavaScript-zu-Java-Konverter oder sein Cousin SpiderMonkey (dieselbe Engine wie in Firefox und anderen Gecko-basierten Browsern). Insbesondere kann etwas einfaches wie mod_js für Apache Ihren Anforderungen entsprechen.

    
Sören Kuklau 18.08.2008, 18:26
quelle
2

Wenn Sie nur einfaches JS verwenden, sollte Rhino das Richtige tun. Aber wenn der JS-Code tatsächlich DOM-Methoden aufruft und so weiter, werden Sie einen vollwertigen Browser benötigen. Crowbar könnte Ihnen helfen.

Wird das die Dinge für Benutzer schneller machen, ohne Kompatibilitätsprobleme zu verursachen?

    
Jon Bright 18.08.2008 18:27
quelle
2

Es gibt John Resigs Projekt Bringt den Browser zum Server : "browser / DOM-Umgebung, geschrieben in JavaScript, die auf Rhino läuft und fähig ist, jQuery, Prototype und MochiKit (im wahrsten Sinne des Wortes) auszuführen mindestens). "

    
Sam Hasler 26.08.2008 11:31
quelle