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:
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.
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.
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?
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). "
Tags und Links javascript html rendering greasemonkey