MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/** | |||
* GOOGLE ANALYTICS | |||
* Injeção correta de script externo para evitar o erro de "Parse error" | |||
*/ | |||
var gaScript = document.createElement('script'); | |||
gaScript.src = "https://www.googletagmanager.com/gtag/js?id=G-MX174P23PW"; | |||
gaScript.async = true; | |||
document.head.appendChild(gaScript); | |||
window.dataLayer = window.dataLayer || []; | |||
function gtag(){dataLayer.push(arguments);} | |||
gtag('js', new Date()); | |||
gtag('config', 'G-MX174P23PW'); | |||
/** | |||
* TESTE DE FUNCIONAMENTO | |||
* Podes apagar esta linha do alert depois de veres que o botão apareceu | |||
*/ | |||
alert("ATRONIA JS OK"); | alert("ATRONIA JS OK"); | ||
/** | |||
* BOTÃO DE COPIAR (Copy Button) | |||
* Este script cria o botão de cópia em todos os blocos de código | |||
*/ | |||
$(function() { | $(function() { | ||
// Procura os blocos gerados pela extensão SyntaxHighlight | |||
$('.mw-highlight').each(function() { | $('.mw-highlight').each(function() { | ||
var $block = $(this); | var $block = $(this); | ||
if ($block.find('.copy-btn').length > 0) return; | |||
// Evita botões duplicados | |||
if ($block.find('.copy-btn').length > 0) return; | |||
// Cria o botão com estilo azul | |||
var $button = $('<button>') | var $button = $('<button>') | ||
.text('Copy') | .text('Copy') | ||
| Line 36: | Line 48: | ||
'border-radius': '3px', | 'border-radius': '3px', | ||
'cursor': 'pointer', | 'cursor': 'pointer', | ||
'font-size': '12px' | 'font-size': '12px', | ||
'font-weight': 'bold' | |||
}); | }); | ||
// Função para copiar o texto | |||
$button.on('click', function() { | $button.on('click', function() { | ||
var text = $block.find('pre').text(); | var text = $block.find('pre').text(); | ||
navigator.clipboard.writeText(text).then(function() { | navigator.clipboard.writeText(text).then(function() { | ||
$button.text('Copied!').css('background', '#00af89'); | $button.text('Copied!').css('background', '#00af89'); | ||
| Line 46: | Line 61: | ||
$button.text('Copy').css('background', '#3366cc'); | $button.text('Copy').css('background', '#3366cc'); | ||
}, 2000); | }, 2000); | ||
}).catch(function(err) { | |||
console.error('Erro ao copiar: ', err); | |||
}); | }); | ||
}); | }); | ||
// Adiciona o botão ao bloco | |||
$block.css('position', 'relative').prepend($button); | $block.css('position', 'relative').prepend($button); | ||
}); | }); | ||
}); | }); | ||