2010-11-21 6 views
3

Est-ce que quelqu'un connaît un petit émulateur javascript rapide avec prise en charge de la couche DOM? dans l'un ou l'autre C/C++?Javascript Emulator

Le problème: je besoin d'un soutien rudimentaire pour javascript dans une application de chenilles, et je me demande s'il y a d'autres options autres que:

a) L'intégration WebKit (sans tête) (ralentit en rampant énormément). b) L'intégration de SpiderMonkey et l'écriture de la couche DOM moi-même (pas hâte de cette option, pas sûr si elle en vaut la peine, la vitesse sage).

D'autres options?

Merci! Jetez dans mon vote pour WebKit (ou un autre code existant)

+0

[crawler Web qui peut interpréter javascript ] (http://stackoverflow.com/questions/2670082/web-crawler-that-can-interpret-javascript) et [Construction d'un robot d'indexation Web - Utilisation de packages Webkit ] (http://stackoverflow.com/questions/162181/building-a-web-crawler-using-webkit-packages) sont des questions similaires. Mais aucune des réponses sur l'un ou l'autre n'est particulièrement détaillée. –

Répondre

2

Pourquoi se donner la peine de réinventer la roue, surtout quand la roue est vraiment fantaisiste, compliquée, a passé des années en développement.

Si vous le vouliez vraiment, vous pourriez écrire du code qui vérifie d'abord javascript, donc vous ne faites passer que les tâches qui en ont besoin. Ensuite, écrivez des filtres pour les réseaux publicitaires et les packages d'analyse communs à ignorer. Si c'était moi, je préférerais être cohérent avec ma façon de ramper.

Aussi, ne pensez pas que vous avez seulement besoin de support rudimentaire, car il y a quelques sites Web vraiment géniaux là-bas qui font une tonne de modifications DOM. Si vous pensez que votre exploration est fiable, préparez-vous à prendre en charge les navigateurs pris en charge. La façon la plus simple de le faire est d'utiliser le même code que celui utilisé par les navigateurs.

+0

Sauf que les moteurs eux-mêmes ne fournissent pas de DOM; ils comptent sur le navigateur pour le faire. –

+0

@Ignacio Vazquez-Abrams, bon point. – Brad

+0

@Ignacio, WebKit n'est pas seulement le moteur JavaScript (c'est JavaScriptCore). Il comprend WebCore et JavaScriptCore. WebCore a la fonctionnalité DOM. –

0

Correction: V8 ne supporte pas les DOM, juste JavaScript, donc pas ce que vous recherchez ...

V8:

+0

Du lien: "Le DOM n'est pas, cependant, typiquement fourni par le moteur JavaScript, mais plutôt par un navigateur.Il en est de même pour V8-Google Chrome fournit le DOM." –

+0

V8 n'a pas de support de couche DOM, afaik. –

+0

@Ignacio, @John Je n'ai pas attrapé la partie DOM - merci les gars! J'ai corrigé le post. –