Diferencia entre revisiones de «MediaWiki:Common.js»
Página de la interfaz de MediaWiki
Más acciones
Sin resumen de edición Etiqueta: Revertido |
Sin resumen de edición Etiqueta: Revertido |
||
| Línea 1: | Línea 1: | ||
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */ | /* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */ | ||
// | // ESPERAR A QUE CARGUE TODO | ||
$(function() { | |||
function fixCopyButtons() { | |||
function | $('.mw-highlight .mw-code-copy').each(function() { | ||
$ | |||
var $btn = $(this); | var $btn = $(this); | ||
$btn.addClass('copied'); | $btn.off('click.copyFix').on('click.copyFix', function(e) { | ||
e.preventDefault(); | |||
e.stopPropagation(); | |||
// Copiar código | |||
var codeBlock = $(this).closest('.mw-highlight'); | |||
var code = codeBlock.find('pre').text() || codeBlock.text(); | |||
navigator.clipboard.writeText(code).then(function() { | |||
$btn.addClass('copied'); | |||
setTimeout(function() { | |||
$btn.removeClass('copied'); | |||
}, 2000); | |||
}); | |||
}); | |||
}); | }); | ||
} | } | ||
// Inicial | // Inicial y observer para bloques dinámicos | ||
fixCopyButtons(); | |||
// | // MutationObserver para nuevos bloques | ||
var observer = new MutationObserver(function() { | |||
fixCopyButtons(); | |||
}); | |||
observer.observe(document.body, { childList: true, subtree: true }); | |||
}); | }); | ||
Revisión del 13:29 26 ene 2026
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
// ESPERAR A QUE CARGUE TODO
$(function() {
function fixCopyButtons() {
$('.mw-highlight .mw-code-copy').each(function() {
var $btn = $(this);
$btn.off('click.copyFix').on('click.copyFix', function(e) {
e.preventDefault();
e.stopPropagation();
// Copiar código
var codeBlock = $(this).closest('.mw-highlight');
var code = codeBlock.find('pre').text() || codeBlock.text();
navigator.clipboard.writeText(code).then(function() {
$btn.addClass('copied');
setTimeout(function() {
$btn.removeClass('copied');
}, 2000);
});
});
});
}
// Inicial y observer para bloques dinámicos
fixCopyButtons();
// MutationObserver para nuevos bloques
var observer = new MutationObserver(function() {
fixCopyButtons();
});
observer.observe(document.body, { childList: true, subtree: true });
});