MediaWiki:Common.js
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for all users on every page load. */ $(document).ready(function() { // Função para copiar texto e mostrar feedback function handleCopy(element) { var textToCopy = $(element).attr('data-copy'); // Cria elemento temporário para copiar var tempInput = document.createElement('textarea'); tempInput.value = textToCopy; document.body.appendChild(tempInput); tempInput.select(); try { document.execCommand('copy'); // Adiciona classe de feedback $(element).addClass('copied'); // Remove feedback após 1.5 segundos setTimeout(function() { $(element).removeClass('copied'); }, 1500); } catch (err) { console.error('Erro ao copiar:', err); } document.body.removeChild(tempInput); } // Click nos elementos .warp-copy $(document).on('click', '.warp-copy', function() { handleCopy(this); }); // Click nas imagens dos NPCs function initNpcCopy() { $('.contents-equipment .tile-top.tile-image a').off('click.npccopy').on('click.npccopy', function(e) { e.preventDefault(); var npcId = $(this).attr('href').replace('#',''); handleCopy($(this).closest('.contents-equipment').find('.warp-copy')[0]); }); } // Inicializa quando o documento está pronto initNpcCopy(); // Reinicia quando novo conteúdo é carregado if (typeof mw !== 'undefined' && mw.hook) { mw.hook('wikipage.content').add(function() { initNpcCopy(); }); } // Auto-expandir seções com anchor links function expandSectionForAnchor(hash) { var targetElement = $(hash); if (targetElement.length) { targetElement.parents('.mw-collapsible.mw-collapsed').removeClass('mw-collapsed') .find('.mw-collapsible-content').show(); setTimeout(function() { $('html, body').animate({ scrollTop: targetElement.offset().top - 100 }, 200); }, 400); } } // Trata hash na URL inicial if (window.location.hash) { setTimeout(function() { expandSectionForAnchor(window.location.hash); }, 300); } // Trata clicks em links âncora $(document).on('click', 'a[href^="#"]', function(e) { e.preventDefault(); var hash = $(this).attr('href'); history.pushState(null, null, hash); expandSectionForAnchor(hash); }); });