File manager - Edit - /var/www/html/portalHomolog/public/pmar/js/shareBoletimMeteorologico.js
Back
function shareOnSocial(platform) { const url = encodeURIComponent(window.location.href); const title = encodeURIComponent( "Boletim Meteorológico - Defesa Civil Angra dos Reis" ); const text = encodeURIComponent( "Confira o Boletim Meteorológico da Defesa Civil de Angra dos Reis" ); const shares = { facebook: `https://www.facebook.com/sharer/sharer.php?u=${url}`, twitter: `https://twitter.com/intent/tweet?url=${url}&text=${text}`, linkedin: `https://www.linkedin.com/sharing/share-offsite/?url=${url}&title=${title}&summary=${text}`, whatsapp: `https://api.whatsapp.com/send?text=${text}%20${url}`, telegram: `https://t.me/share/url?url=${url}&text=${text}`, }; if (shares[platform]) { window.open(shares[platform], "_blank", "width=600,height=500"); } } // Função para copiar link (sem parâmetros - usa URL atual) function copyToClipboard() { const text = window.location.href; console.log('copyToClipboard chamada. URL:', text); // Verifica se está em contexto seguro (HTTPS ou localhost) const isSecureContext = window.isSecureContext || window.location.protocol === 'https:' || window.location.hostname === 'localhost'; if (isSecureContext && navigator.clipboard && navigator.clipboard.writeText) { // Usa API moderna do Clipboard console.log('Usando Clipboard API'); navigator.clipboard.writeText(text) .then(() => { console.log('Link copiado com sucesso via Clipboard API'); showCopyFeedback('Link copiado com sucesso!', false); }) .catch((err) => { console.error('Erro ao copiar via Clipboard API:', err); fallbackCopyToClipboard(text); }); } else { // Fallback para HTTP ou navegadores antigos console.log('Usando fallback (execCommand)'); fallbackCopyToClipboard(text); } } // Método fallback para copiar texto function fallbackCopyToClipboard(text) { console.log('fallbackCopyToClipboard chamada'); try { const textArea = document.createElement("textarea"); textArea.value = text; textArea.style.position = "fixed"; textArea.style.top = "-9999px"; textArea.style.left = "-9999px"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); textArea.setSelectionRange(0, 99999); const successful = document.execCommand("copy"); console.log('execCommand copy resultado:', successful); document.body.removeChild(textArea); if (successful) { console.log('Link copiado com sucesso via execCommand'); showCopyFeedback('Link copiado com sucesso!', false); } else { console.error('execCommand copy retornou false'); showCopyFeedback('Erro ao copiar link', true); } } catch (err) { console.error('Erro ao copiar:', err); showCopyFeedback('Erro ao copiar link', true); } } // Mostra feedback visual ao copiar function showCopyFeedback(message, isError) { console.log('showCopyFeedback chamada. Mensagem:', message); // Remove feedback anterior se existir const existingFeedback = document.getElementById('copy-feedback'); if (existingFeedback) { existingFeedback.remove(); } // Cria elemento de feedback const feedback = document.createElement('div'); feedback.id = 'copy-feedback'; feedback.className = `alert ${isError ? 'alert-danger' : 'alert-success'} position-fixed`; feedback.style.cssText = 'top: 20px; right: 20px; z-index: 9999; min-width: 250px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);'; feedback.innerHTML = ` <i class="fas ${isError ? 'fa-exclamation-circle' : 'fa-check-circle'} me-2"></i> ${message} `; document.body.appendChild(feedback); console.log('Feedback adicionado ao body'); // Remove após 3 segundos setTimeout(() => { feedback.style.transition = 'opacity 0.3s ease-out'; feedback.style.opacity = '0'; setTimeout(() => { feedback.remove(); }, 300); }, 3000); }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings