9
votes

Comment incorporer ou mettre en œuvre une API DOM à V8?

J'écris une application de serveur capable de manipuler le DOM avant d'être servi au client.

J'utilise C ++ et Google's V8 en tant que moteur JavaScript, mais je ne vois aucune API DOM en V8.

Y a-t-il une implémentation open source pour faire la manipulation DOM sur HTML?
Si non, comment allez-vous implémenter un?


2 commentaires

Avez-vous déjà compris cela?


@Luke Cplusplusdom était la réponse.


5 Réponses :


0
votes

Safari / Chrome Utilisez le moteur de rendu WebKit, qui intègre le rendu CSS et le DOM, je dirais que c'est l'un des meilleurs moteurs de rendu en plus des opéra - je pense qu'il pourrait être utile:

http://webkit.org/


1 commentaires

Je n'ai pas besoin d'un moteur de rendu cultivé complet. J'ai juste besoin d'analyser le HTML & CSS dans un objet DOM et de sauvegarder la sortie en tant que HTML. Y a-t-il une sorte de solution que je cherche ou dois-je avoir à le construire moi-même?



3
votes

Le DOM est créé et lié au moteur V8 en Chrome. Les sources V8 ne savent rien sur le navigateur DOM. Le moyen le plus rapide de faire fonctionner ce travail serait d'essayer d'extraire les parties de chrome (chrome, vraiment) qui chargent HTML dans une structure et les pièces qui relient les méthodes DOM et DOM en V8. Ce n'est probablement pas aussi mauvais que vous le pensez. Si quelque chose, Google produit assez propre C ++, autant que je puisse dire de regarder le code source V8. Ce n'est probablement pas aussi mauvais que vous le pensez.


0 commentaires

2
votes

Avez-vous vérifié Cplusplusdom ? (qui a été créé après la demande de votre question)

L'API C ++ DOM est une bibliothèque d'écriture d'applications Web en C ++ sur NPAPI / poivre à l'aide de la liaison Web IDL C ++ pour accéder aux objets DOM à l'intérieur du navigateur Web.


0 commentaires

1
votes

Comme vous avez déjà (comme je l'ai compris) votre propre implémentation DOM en C ++ et n'a besoin que de la liaison JS DOM, je pense qu'il serait plus facile de la mettre en œuvre la plupart de celui-ci dans JS mappage des fonctions JS de faible niveau pour interfacer que vous avez déjà


0 commentaires

0
votes

A partir de 2018, Cloudflare Workers Exécuter sur le moteur V8 et certains Devs enquêtaient sur la manière d'accéder à la analyse DOM et à la manipulation. Ils ont découvert DOM-Parser et cheerio , il est donc possible que ceux-ci puissent fournir ce dont vous avez besoin. Cheerio fournit une syntaxe utile en forme de jQuery. Ce sont des modules Nodejs, mais il semble qu'ils puissent pouvoir courir dans le V8.

voir: https: // simon- thompson.me/simple-dom-manipulation-via-jquery-in-cloudflare-workers/


0 commentaires