Question

Il existe de nombreux widgets fournis par les sites qui sont en fait des morceaux de JavaScript qui génèrent du HTML via DOMAINE manipulations ou document.write().Plutôt que de ralentir encore plus le navigateur avec des requêtes supplémentaires et de faire confiance à un autre fournisseur pour être rapide, fiable et ne pas modifier la sortie du widget, je souhaite exécuter* le JavaScript pour générer le code HTML rendu, puis enregistrer cette source HTML.

Choses que j'ai examinées et qui semblent irréalisables ou bien trop difficiles :

  1. Le navigateur de liens (pas du lynx !)
  2. Utilisation sans tête de Xvfb plus Firefox plus Greasemonkey (ouais)
  3. La boîte à outils du navigateur entièrement Java Cobra (le meilleur pari !)

Des idées?

** Évidemment, vous ne pouvez pas vraiment exécuter complètement le JavaScript, car il n'a pas nécessairement de chemin de sortie, mais vous voyez l'idée.

Était-ce utile?

La solution

Wikipédia "JavaScript côté serveur" l'article répertorie de nombreuses implémentations, dont beaucoup sont basées sur le logiciel de Mozilla. Rhinocéros Convertisseur JavaScript vers Java, ou son cousin Singe-araignée (le même moteur que celui trouvé dans Firefox et d'autres navigateurs basés sur Gecko).En particulier, quelque chose de simple comme mod_js pour Apache peut répondre à vos besoins.

Autres conseils

Si vous utilisez simplement du JS simple, Rhinocéros devrait faire l'affaire.Mais si le code JS appelle réellement des méthodes DOM, etc., vous aurez besoin d'un navigateur complet. Pied de biche pourrait vous aider.

Est-ce que cela va vraiment rendre les choses plus rapides pour les utilisateurs sans causer de problèmes de compatibilité ?

Il y a le projet de John Resig Apporter le navigateur au serveur:"environnement navigateur/DOM, écrit en JavaScript, qui s'exécute sur Rhinocéros;capable d'exécuter jQuery, Prototype et MochiKit (au minimum)."

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top