J'écris une application de serveur capable de manipuler le DOM avant d'être servi au client. p>
J'utilise C ++ et Google's V8 en tant que moteur JavaScript, mais je ne vois aucune API DOM en V8. p>
Y a-t-il une implémentation open source pour faire la manipulation DOM sur HTML?
Si non, comment allez-vous implémenter un? P>
5 Réponses :
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: p>
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?
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. P>
Avez-vous vérifié Cplusplusdom ? (qui a été créé après la demande de votre question) p>
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. p> blockQuote>
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à p>
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 voir: https: // simon- thompson.me/simple-dom-manipulation-via-jquery-in-cloudflare-workers/ p>
Avez-vous déjà compris cela?
@Luke Cplusplusdom était la réponse.