MediaWiki Diskussion:Gadget-markAdmins.js
Erscheinungsbild
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:
- 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.
- 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.