Diferencia entre revisiones de «MediaWiki:Vector.js»

De Diccionario Interactivo Ceán Bermúdez
Ir a la navegación Ir a la búsqueda
(Página reemplazada por «→‎Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector: $(".infobox-autor p").remove(); $("#mw-content-text…»)
Etiqueta: Reemplazo
Línea 1: Línea 1:
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */
// Control de parámetros para búsqueda resaltada
 
var paramresalte = "find";
 
//Recuperamos parámetros
 
var get_params = function(search_string) {
 
 
    var parse = function(params, pairs) {
 
      var pair = pairs[0];
 
      var parts = pair.split('=');
 
      var key = decodeURIComponent(parts[0]);
 
      var value = decodeURIComponent(parts.slice(1).join('='));
 
 
 
      // Handle multiple parameters of the same name
 
      if (typeof params[key] === "undefined") {
 
        params[key] = value;
 
      } else {
 
        params[key] = [].concat(params[key], value);
 
      }
 
 
 
      return pairs.length == 1 ? params : parse(params, pairs.slice(1))
 
    }
 
 
 
    // Get rid of leading ?
 
    return search_string.length == 0 ? {} : parse({}, search_string.substr(1).split('&'));
 
  }
 
 
var params = get_params(location.search);
 
if(params["search"]){
 
document.querySelectorAll(".mw-search-result-heading a").forEach(a => {
 
            a.href = a.href + "?"+paramresalte+"="+params["search"];
 
        });
 
}
 
 
 
var InstantSearch = {
 
 
    "highlight": function (container, highlightText)
 
    {
 
        var internalHighlighter = function (options)
 
        {
 
 
            var id = {
 
                container: "container",
 
                tokens: "tokens",
 
                all: "all",
 
                token: "token",
 
                className: "className",
 
                sensitiveSearch: "sensitiveSearch"
 
            },
 
            tokens = options[id.tokens],
 
            allClassName = options[id.all][id.className],
 
            allSensitiveSearch = options[id.all][id.sensitiveSearch];
 
 
 
            function checkAndReplace(node, tokenArr, classNameAll, sensitiveSearchAll)
 
            {
 
                var nodeVal = node.nodeValue, parentNode = node.parentNode,
 
                    i, j, curToken, myToken, myClassName, mySensitiveSearch,
 
                    finalClassName, finalSensitiveSearch,
 
                    foundIndex, begin, matched, end,
 
                    textNode, span, isFirst;
 
 
                for (i = 0, j = tokenArr.length; i < j; i++)
 
                {
 
                    curToken = tokenArr[i];
 
                    myToken = curToken[id.token];
 
                    myClassName = curToken[id.className];
 
                    mySensitiveSearch = curToken[id.sensitiveSearch];
 
 
                    finalClassName = (classNameAll ? myClassName + " " + classNameAll : myClassName);
 
 
                    finalSensitiveSearch = (typeof sensitiveSearchAll !== "undefined" ? sensitiveSearchAll : mySensitiveSearch);
 
 
                    isFirst = true;
 
                    while (true)
 
                    {
 
                        if (finalSensitiveSearch)
 
                            foundIndex = nodeVal.indexOf(myToken);
 
                        else
 
                            foundIndex = nodeVal.toLowerCase().indexOf(myToken.toLowerCase());
 
 
                        if (foundIndex < 0)
 
                        {
 
                            if (isFirst)
 
                                break;
 
 
                            if (nodeVal)
 
                            {
 
                                textNode = document.createTextNode(nodeVal);
 
                                parentNode.insertBefore(textNode, node);
 
                            } // End if (nodeVal)
 
 
                            parentNode.removeChild(node);
 
                            break;
 
                        } // End if (foundIndex < 0)
 
 
                        isFirst = false;
 
 
 
                        begin = nodeVal.substring(0, foundIndex);
 
                        matched = nodeVal.substr(foundIndex, myToken.length);
 
 
                        if (begin)
 
                        {
 
                            textNode = document.createTextNode(begin);
 
                            parentNode.insertBefore(textNode, node);
 
                        } // End if (begin)
 
 
                        span = document.createElement("span");
 
                        span.className += finalClassName;
 
                        span.appendChild(document.createTextNode(matched));
 
                        parentNode.insertBefore(span, node);
 
 
                        nodeVal = nodeVal.substring(foundIndex + myToken.length);
 
                    } // Whend
 
 
                } // Next i
 
            }; // End Function checkAndReplace
 
 
            function iterator(p)
 
            {
 
                if (p === null) return;
 
 
                var children = Array.prototype.slice.call(p.childNodes), i, cur;
 
 
                if (children.length)
 
                {
 
                    for (i = 0; i < children.length; i++)
 
                    {
 
                        cur = children[i];
 
                        if (cur.nodeType === 3)
 
                        {
 
                            checkAndReplace(cur, tokens, allClassName, allSensitiveSearch);
 
                        }
 
                        else if (cur.nodeType === 1)
 
                        {
 
                            iterator(cur);
 
                        }
 
                    }
 
                }
 
            }; // End Function iterator
 
 
            iterator(options[id.container]);
 
        } // End Function highlighter
 
        ;
 
 
 
        internalHighlighter(
 
            {
 
                container: container
 
                , all:
 
                    {
 
                        className: "highlighter"
 
                    }
 
                , tokens: [
 
                    {
 
                        token: highlightText
 
                        , className: "highlight"
 
                        , sensitiveSearch: false
 
                    }
 
                ]
 
            }
 
        ); // End Call internalHighlighter
 
 
    } // End Function highlight
 
 
};
 
 
 
if(params[paramresalte]){
 
var container = document.getElementById("mw-content-text");
 
var findWord = params[paramresalte];
 
findWord = findWord.replace(",", "");
 
const regex = /(?<=")[^"]+(?=")/;
 
var find1 = findWord.match(regex);
 
console.log(find1);
 
if(find1!=null){
 
findWord = find1[0].replace("+", " ");
 
}
 
var findWordArr =  findWord.split("+");
 
//$('html,body').animate({scrollTop:( )},1000,function(){});
 
findWordArr.forEach(a => {
 
            InstantSearch.highlight(container, a);
 
        });
 
   
 
}
 
 
$("#footer-info-lastmod").append(" El Diccionario interactivo de Ceán Bermúdez está subvencionado por la Dirección General de Bibliotecas, Archivos y Museos (Área de Gobierno de Cultura, Turismo y Deporte) del Ayuntamiento de Madrid con cargo a los presupuestos municipales del año 2020")
 
 
 
 
 
$(".infobox-autor p").remove();
 
$(".infobox-autor p").remove();
 
 
$("#mw-content-text p").each(function() {
 
$("#mw-content-text p").each(function() {
 
     var $this = $(this);
 
     var $this = $(this);
 
     if( $.trim($this.html()) == "<br>") $this.remove();
 
     if( $.trim($this.html()) == "<br>") $this.remove();
 
});
 
});

Revisión del 09:46 2 mar 2021

/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios que usen la apariencia Vector */
$(".infobox-autor p").remove();
$("#mw-content-text p").each(function() {
    var $this = $(this);
    if( $.trim($this.html()) == "<br>") $this.remove();
});