Cygnus embed — demonstração cross-origin

Esta página é samuelsantana.dev. Os dois widgets abaixo vêm de cygnus.samuelsantana.dev — origem diferente, projeto diferente, deploy diferente. É HTML puro: nenhum framework participa da integração.

1. Script tag

Renderiza no DOM desta página, dentro de um shadow root fechado. Integra com o layout, mas roda na origem do host — quem embarca precisa confiar no código.

<div id="vacinas"></div>
<script src="https://cygnus.samuelsantana.dev/embed/embed.js"
        data-target="#vacinas" defer></script>

2. iframe

Documento separado, origem separada, contexto de JS separado. Em troca, não sabe se dimensionar sozinho — a altura abaixo vem por postMessage.

Mensagens recebidas do embed

Contrato versionado. O host filtra por source porque o mesmo handler recebe analytics, chat e devtools de framework — e por version, porque esta página não pode ser reimplantada junto com o widget.

aguardando…