Zum Inhalt springen

MediaWiki Diskussion:Gadget-markAdmins.js

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Dezember 2011 um 16:30 Uhr durch TMg (Diskussion | Beiträge) (Optimierter Quelltext: Antwort). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Letzter Kommentar: vor 13 Jahren von TMg in Abschnitt Optimierter Quelltext

Optimierter Quelltext

Der Quelltext hier ist aus mehreren Gründen nicht sehr elegant. Ich schlage deshalb folgenden neuen Quelltext vor:

var UrlParameters = (function(s)
{
  var parameters = {};        //Assoziative Arrays gibt es nicht, muss ein Objekt sein
  s = s.slice(1).split('&');  //Fragezeichen abschneiden und in Parameter zerlegen
  for (var i = 0, l = s.length; i < l; i++)
  {
    var p = s[i].split('=');  //Parameter in Name und Wert zerlegen
    if (p[0]) parameters[decodeURIComponent(p[0])] = p[1] ? decodeURIComponent(p[1]) : true;
  }
  return parameters;          //Fertiges Pareameterobjekt zurückgeben
})(location.search);          //Aufruf der Funktion und Übergabe des Suchstrings

importScript("Benutzer:PDD/markAdmins.js"); // [[Benutzer:PDD/markAdmins.js]]

Im Kern habe ich zwei große Dinge geändert:

  1. Ich habe alle Variablendefinitionen entfernt. Einige waren veraltet und wurden von Benutzer:PDD/markAdmins.js sowieso nicht mehr ausgewertet. Alle anderen entsprachen sowieso den Vorgaben von Benutzer:PDD/markAdmins.js. Der wichtigste Grund für die Entfernung ist aber, dass es durch die hier stehenden starren Zeilen unmöglich war, das Gadget mit Hilfe eben dieser Variablen individuell zu konfigurieren, so wie es eigentlich vorgesehen ist.
  2. Den verbleibenden Quelltext habe ich weitestgehend neu geschrieben und dabei auf die Ausführungsgeschwindigkeit geachtet, vor allem aber auch darauf, dass möglichst nichts in den globalen Variablenraum von JavaScript abstrahlt und somit möglichst wenig Seiteneffekte entstehen.

--TMg 15:10, 29. Dez. 2011 (CET)Beantworten

Dass das unmöglich sein soll, das Gadget zu konfigurieren, halte ich für einen Irrtum. In meiner vector.js jedefalls sind Anpassungen, die vom Gadget gelesen / verstanden werden..... :D Ansonsten sieht das gut aus - nachher mal testen. --Guandalug 15:15, 29. Dez. 2011 (CET)Beantworten
In deiner vector.js hast du nur Variablen definiert, die dieses Gadget-Skript hier nicht überschreibt. Alle anderen lassen sich nicht konfigurieren. --TMg 15:30, 29. Dez. 2011 (CET)Beantworten