(function () { // Evita rodar mais de uma vez if (window.LOExitIntentLoaded) { return; } window.LOExitIntentLoaded = true; var storageKey = 'lo_exit_intent_shown_v3'; var triggered = false; function createPopup() { if (document.getElementById('lo-exit-intent-overlay')) { return; } // Overlay var overlay = document.createElement('div'); overlay.id = 'lo-exit-intent-overlay'; overlay.style.position = 'fixed'; overlay.style.zIndex = '9999'; overlay.style.top = '0'; overlay.style.left = '0'; overlay.style.right = '0'; overlay.style.bottom = '0'; overlay.style.background = 'rgba(0,0,0,0.6)'; overlay.style.display = 'flex'; overlay.style.alignItems = 'center'; overlay.style.justifyContent = 'center'; overlay.style.padding = '15px'; // Conteúdo do modal overlay.innerHTML = '
' + '
× ' + '
Antes de sair, venha para a Comunidade Licitação Online 👋 ' + '
' + 'Participe da Comunidade Licitação Online com centenas de usuários do Brasil todo e tire suas dúvidas na hora. ' + 'Registre-se e receba o link do nosso grupo de WhatsApp no e-mail de ativação da conta, é grátis! ' + 'Aproveite também para me seguir no Instagram e acompanhar aulas, avisos e novidades.' + '
' + '
' + '
Continuar navegando ' + '
'; document.body.appendChild(overlay); var modal = document.getElementById('lo-exit-intent-modal'); var closeBtn = document.getElementById('lo-exit-intent-close'); var btnContinuar = modal ? modal.querySelector('.lo-exit-intent-continue') : null; var btnComunidade = modal ? modal.querySelector('.lo-btn-primary') : null; var btnInsta = modal ? modal.querySelector('.lo-btn-secondary') : null; // Estilo do modal if (modal) { modal.style.background = '#ffffff'; modal.style.maxWidth = '520px'; modal.style.width = '100%'; modal.style.borderRadius = '8px'; modal.style.padding = '24px 24px 20px'; modal.style.boxShadow = '0 18px 45px rgba(0,0,0,0.25)'; modal.style.position = 'relative'; modal.style.fontFamily = 'Arial, sans-serif'; } // Título e parágrafo if (modal) { var h2 = modal.getElementsByTagName('h2')[0]; if (h2) { h2.style.marginTop = '0'; h2.style.marginBottom = '12px'; h2.style.fontSize = '22px'; h2.style.lineHeight = '1.3'; h2.style.color = '#222'; } var p = modal.getElementsByTagName('p')[0]; if (p) { p.style.marginTop = '0'; p.style.marginBottom = '18px'; p.style.fontSize = '14px'; p.style.lineHeight = '1.5'; p.style.color = '#444'; } } // Botão fechar (X) if (closeBtn) { closeBtn.style.position = 'absolute'; closeBtn.style.top = '10px'; closeBtn.style.right = '12px'; closeBtn.style.border = 'none'; closeBtn.style.background = 'transparent'; closeBtn.style.fontSize = '20px'; closeBtn.style.cursor = 'pointer'; closeBtn.style.lineHeight = '1'; } // Container de botões if (modal) { var btnWrapper = modal.querySelector('.lo-exit-intent-buttons'); if (btnWrapper) { btnWrapper.style.display = 'flex'; btnWrapper.style.flexWrap = 'wrap'; btnWrapper.style.gap = '8px'; btnWrapper.style.marginBottom = '12px'; } } // Botão Comunidade - dourado institucional if (btnComunidade) { btnComunidade.style.display = 'inline-block'; btnComunidade.style.padding = '10px 14px'; btnComunidade.style.borderRadius = '4px'; btnComunidade.style.textDecoration= 'none'; btnComunidade.style.fontSize = '14px'; btnComunidade.style.fontWeight = 'bold'; btnComunidade.style.textAlign = 'center'; btnComunidade.style.cursor = 'pointer'; btnComunidade.style.background = '#f5b100'; // dourado btnComunidade.style.color = '#000000'; btnComunidade.style.border = '1px solid #b98a00'; btnComunidade.addEventListener('mouseover', function () { btnComunidade.style.background = '#d99b00'; }); btnComunidade.addEventListener('mouseout', function () { btnComunidade.style.background = '#f5b100'; }); } // Botão Instagram if (btnInsta) { btnInsta.style.display = 'inline-block'; btnInsta.style.padding = '10px 14px'; btnInsta.style.borderRadius = '4px'; btnInsta.style.textDecoration = 'none'; btnInsta.style.fontSize = '14px'; btnInsta.style.fontWeight = 'bold'; btnInsta.style.textAlign = 'center'; btnInsta.style.cursor = 'pointer'; btnInsta.style.background = '#f1f3f5'; btnInsta.style.color = '#333333'; btnInsta.addEventListener('mouseover', function () { btnInsta.style.background = '#e9ecef'; }); btnInsta.addEventListener('mouseout', function () { btnInsta.style.background = '#f1f3f5'; }); } // Botão "Continuar navegando" if (btnContinuar) { btnContinuar.style.border = 'none'; btnContinuar.style.background = 'transparent'; btnContinuar.style.color = '#666'; btnContinuar.style.fontSize = '13px'; btnContinuar.style.cursor = 'pointer'; btnContinuar.style.padding = '0'; btnContinuar.style.textDecoration = 'underline'; } // Função para fechar function fechar() { overlay.style.transition = 'opacity 0.2s'; overlay.style.opacity = '0'; setTimeout(function () { if (overlay && overlay.parentNode) { overlay.parentNode.removeChild(overlay); } }, 200); } if (closeBtn) { closeBtn.addEventListener('click', fechar); } if (btnContinuar) { btnContinuar.addEventListener('click', fechar); } overlay.addEventListener('click', function (e) { if (e.target === overlay) { fechar(); } }); } // Exibe o popup function showPopup() { if (triggered) { return; } triggered = true; try { if (window.localStorage) { localStorage.setItem(storageKey, '1'); } } catch (e) {} createPopup(); } // Inicializa a lógica de exit intent function initExitIntent() { try { if (window.localStorage && localStorage.getItem(storageKey)) { return; } } catch (e) {} // Desktop: mouse saindo pelo topo document.addEventListener('mouseleave', function (e) { if (e.clientY <= 0) { showPopup(); } }); // Fallback: 15s + rolar metade da página setTimeout(function () { if (triggered) { return; } function scrollHandler() { if (triggered) { window.removeEventListener('scroll', scrollHandler); return; } var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; var docHeight = Math.max( document.body.scrollHeight, document.documentElement.scrollHeight ); var winHeight = window.innerHeight || document.documentElement.clientHeight; if (docHeight <= winHeight) { // Página muito curta: dispara só pelo tempo showPopup(); window.removeEventListener('scroll', scrollHandler); return; } var scrolledPercent = (scrollTop / (docHeight - winHeight)) * 100; if (scrolledPercent >= 50) { showPopup(); window.removeEventListener('scroll', scrollHandler); } } window.addEventListener('scroll', scrollHandler); }, 15000); } // Espera DOM pronto if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initExitIntent); } else { initExitIntent(); }
})();Viviany | Licitação Online