/* * FlashTokens — Surf widget (traffic.js) v16 * Roda no site do anunciante. Zero dependências externas. * * ==================================================================== * MUDANÇA DE ARQUITETURA (v16) — motivo da reescrita: * * Da v1 até a v15 o widget era injetado via JS: o script criava uma div, * dava insertBefore(host, document.body.firstChild) e usava * position:fixed + z-index gigante, além de forçar padding-top no
. * * Isso causava 2 problemas graves relatados em produção: * 1) Em alguns temas (principalmente mobile / templates que controlam * os filhos do via JS próprio) o insertBefore + position:fixed * entrava em conflito com o layout do tema e quebrava a página * inteira (carregava sem CSS/estrutura). * 2) Virava um "card" sobrepondo a tela mesmo sendo pensado como barra, * dependendo do CSS do site (conflito de z-index/stacking context). * * SOLUÇÃO v16: o widget NÃO cria nem reposiciona nenhum elemento dentro * do . Em vez disso, ele exige uma * que o PRÓPRIO usuário cola no local exato onde quer que o widget * apareça (normalmente perto do rodapé, mas pode ser em qualquer lugar). * O script só faz mountEl.attachShadow(...) NESSA div — ou seja, o widget * vive dentro do fluxo normal do documento, com o tamanho e posição que o * dono do site escolheu. Nunca position:fixed, nunca insertBefore no body, * nunca padding-top forçado. * * São 2 blocos, cada um no lugar exigido pelo HTML (Blogger valida isso na * hora de salvar o template e REJEITA se estiver errado — "div should not * appear inside of head"): * BLOCO 1 (colar antes de ): os 2