Diferencia entre revisiones de «MediaWiki:Common.js»

De KarateDoMiyazato Wiki
sin resumen de edición
(Página creada con «→‎Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página: document.querySelectorAll('.text-content, p, li, h1, h2, h3, h4, h5, h6').forEach(function(element) { // Check if element contains an emoji (simplified check for demonstration) if (element.textContent.match(/[\u{1F600}-\u{1F64F}]/u)) { element.style.filter = 'none'; } });»)
 
Sin resumen de edición
 
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 */


document.querySelectorAll('.text-content, p, li, h1, h2, h3, h4, h5, h6').forEach(function(element) {
document.addEventListener('DOMContentLoaded', function() {
     // Check if element contains an emoji (simplified check for demonstration)
     // Function to check if a character is an emoji
    if (element.textContent.match(/[\u{1F600}-\u{1F64F}]/u)) {
    function isEmoji(char) {
         element.style.filter = 'none';
        const comp = char.charCodeAt(0) >= 0xD800 && char.charCodeAt(0) <= 0xDBFF;
         const comp2 = char.charCodeAt(1) >= 0xDC00 && char.charCodeAt(1) <= 0xDFFF;
        return comp && comp2;
     }
     }
    // Iterate through all text nodes in the document
    function searchAndModifyTextNodes(node) {
        if (node.nodeType === 3) { // Node.TEXT_NODE
            if (Array.from(node.nodeValue).some(isEmoji)) {
                const span = document.createElement('span');
                span.style.filter = 'none';
                span.textContent = node.nodeValue;
                node.parentNode.replaceChild(span, node);
            }
        } else {
            node.childNodes.forEach(searchAndModifyTextNodes);
        }
    }
    searchAndModifyTextNodes(document.body);
});
});