MediaWiki:Common.js: Difference between revisions
From OmegaMMO
(Created page with "→Any JavaScript here will be loaded for all users on every page load.: // Asegurarse de que el DOM esté listo antes de ejecutar el script $(function() { // Función para copiar texto al portapapeles function copyTextToClipboard(text) { if (!navigator.clipboard) { // Fallback para navegadores antiguos o si navigator.clipboard no está disponible // Puedes usar un alert o un método más simple como un prompt (ver notas abajo)...") |
(No difference)
|
Revision as of 00:46, 21 May 2025
/* Any JavaScript here will be loaded for all users on every page load. */ // Asegurarse de que el DOM esté listo antes de ejecutar el script $(function() { // Función para copiar texto al portapapeles function copyTextToClipboard(text) { if (!navigator.clipboard) { // Fallback para navegadores antiguos o si navigator.clipboard no está disponible // Puedes usar un alert o un método más simple como un prompt (ver notas abajo) alert("Tu navegador no soporta la API de portapapeles. Por favor, copia el texto manualmente: " + text); return; } navigator.clipboard.writeText(text).then(function() { console.log('Texto copiado al portapapeles: ' + text); // Opcional: Mostrar un mensaje al usuario mw.notify('Texto copiado al portapapeles: ' + text, { tag: 'copy-success', type: 'success' }); }).catch(function(err) { console.error('Error al copiar texto: ', err); mw.notify('No se pudo copiar el texto. Inténtalo de nuevo o cópialo manualmente.', { tag: 'copy-fail', type: 'error' }); }); } // Delegar el evento click para elementos con la clase 'copy-link' // Esto asegura que funcione incluso si el elemento se añade dinámicamente $('body').on('click', '.copy-link', function(e) { e.preventDefault(); // Evita que el enlace siga su href var textToCopy = $(this).data('text-to-copy'); if (textToCopy) { copyTextToClipboard(textToCopy); } else { console.warn('El enlace de copia no tiene el atributo data-text-to-copy.'); } }); });