Pergunta

Eu estou escrevendo um aplicativo de servidor que é capaz de manipular o DOM antes de ser servido ao cliente.

Eu estou usando C ++ e V8 do Google como um motor de javascript, mas eu não vejo qualquer API DOM em v8.

Existe uma implementação open source para fazer a manipulação DOM em HTML?
Se não como você implementar um?

Foi útil?

Solução

O DOM é criado e ligado ao motor V8 no Chrome. As fontes V8 não sabe nada sobre o DOM browser. A maneira mais rápida para começar este trabalho para você seria para tentar extrair as partes do Chrome (Cromo, na verdade) que o HTML de carga em uma estrutura, e as partes que ligam os métodos DOM e DOM em V8. Provavelmente não é tão ruim quanto você pensa. Se qualquer coisa, o Google produz muito limpo C ++, tanto quanto eu posso dizer de olhar para o código-fonte V8. Provavelmente não é tão ruim quanto você pensa.

Outras dicas

Você verificou para fora CplusplusDOM ? (Que foi criado após a sua pergunta foi feita)

A API C ++ DOM é uma biblioteca para escrever aplicações Web em C ++ sobre NPAPI / Pimenta usando a Web IDL C ++ obrigatório para acessar DOM objetos dentro do navegador Web.

Como você já tem (como eu entendi) sua própria implementação dom em C ++ e vinculativa só precisa dom JS, eu acredito que seria mais fácil de implementar maior parte dele em JS funções JS mapeamento de baixo nível para fazer a interface que você já tem

Safari / Chrome usar o motor de renderização Webkit, que incorpora a renderização CSS e DOM, eu diria que é um dos melhores motores de renderização, além de Opera de - Eu acho que poderia ser de uso:

http://webkit.org/

A partir de 2018, Cloudflare Trabalhadores executado no motor V8 e alguns devs têm vindo a investigar como a análise de acesso DOM e manipulação. Eles descobriram dom-analisador e cheerio , então é possível que estes podem fornecer o que você precisa. Cheerio fornece uma sintaxe jQuery-como útil. Eles são módulos NodeJS, mas parece que eles podem ser capazes de executar dentro de V8.

Veja: https: // Simon- thompson.me/simple-dom-manipulation-via-jquery-in-cloudflare-workers/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top