MediaWiki:Common.js

De Vanaheim Wiki
Ir a la navegación Ir a la búsqueda

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
$(document).ready(function() {
  if ($('#copy-message').length === 0) {
    $('body').append('<div id="copy-message" style="position:fixed; bottom:20px; right:20px; background:#4CAF50; color:white; padding:8px 12px; border-radius:4px; display:none; font-weight:bold; z-index:9999;">¡Copiado!</div>');
  }

  $(document).on('click', '.copy-text', function() {
    var text = $(this).attr('data-copy');
    console.log('Intentando copiar:', text);
    if (!text) {
      alert('Error: no hay texto para copiar');
      return;
    }

    if (navigator.clipboard && window.isSecureContext) {
      navigator.clipboard.writeText(text).then(() => {
        $('#copy-message').fadeIn(200).delay(1000).fadeOut(200);
        console.log('Copiado con Clipboard API');
      }).catch(err => {
        console.error('Clipboard API falló:', err);
        fallbackCopy(text);
      });
    } else {
      fallbackCopy(text);
    }
  });

  function fallbackCopy(text) {
    try {
      var $temp = $('<textarea>');
      $('body').append($temp);
      $temp.val(text).select();
      var successful = document.execCommand('copy');
      $temp.remove();
      if (successful) {
        $('#copy-message').fadeIn(200).delay(1000).fadeOut(200);
        console.log('Copiado con execCommand');
      } else {
        alert('Error: no se pudo copiar al portapapeles');
        console.error('execCommand copy falló');
      }
    } catch(e) {
      alert('Error al copiar: ' + e);
      console.error(e);
    }
  }
});