Benutzer:PerfektesChaos/js/clickDivertimento

JavaScript-Helferlein, um bei Verlinkungen auf einer Wiki-Seite die Darstellung automatisch in einem neuen Browser-Fenster oder -Tab zu öffnen.

Das betrifft insbesondere:

Bei den meisten Browsern lässt sich der gleiche Effekt erreichen, indem gleichzeitig mit dem Anklicken des Links Umschlt oder Strg gedrückt wird. Vergisst man das bei einer Seitenvorschau, kann die vorangegangene Tipparbeit verloren sein, wenn zum Bearbeitungsmodus zurückgekehrt wird.

Aktivierung Bearbeiten

  • Wenn das Projekt dieses Gadget bereits registriert haben sollte, genügt ein Häkchen auf der Seite Einstellungen („Helferlein“).
  • Sonst wären die folgenden Zeilen in die persönlichen JS-Einstellungen einzufügen:
mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/clickDivertimento/r.js&action=raw&bcache=1&maxage=604800&ctype=text/javascript",
               "text/javascript");

Benutzerkonfiguration Bearbeiten

Der Ausgangszustand und das Verhalten kann von jedem Benutzer individuell vorgegeben werden.

Interaktive Schnellkonfiguration Bearbeiten

Die meisten der unten beschriebenen Optionen können nach Installation des Skriptes auf einer Spezialseite interaktiv konfiguriert werden.

Das gilt jedoch nicht für die komplexeren Regeln.

Konfiguration über JavaScript Bearbeiten

In die common.js etc. die folgenden Zeilen einfügen (möglichst vor mw.loader.load, so vorhanden):

if ( typeof mw.libs.clickDivertimento !== "object" ) {
   mw.libs.clickDivertimento  =  { };
}
mw.libs.clickDivertimento.key1 = value1;
Schlüssel Wert Bedeutung
large true Weitere Seiten mit Listen einbeziehen.
Vorgabe: false – Beobachtungslisten und Letzte Änderungen
leave true Alle externen Weblinks in neuem Fenster öffnen.
Vorgabe: false – unverändertes Verhalten
mode 0 Völlig neues Fenster öffnen.
Vorgabe: 0 – Für alle umgelenkten Verlinkungen
  • 1 – Gemeinsame Fenster für gleiche Aufgaben
  • 2 – Alle im selben jedoch anderem Fenster
targets object Gemeinsame Fenster für ähnliche Verlinkungen
Vorgabe: Keine Auswertung.
Zuweisung zu einem Fensternamen einen von
  • string – der buchstäblich in einer URL auftreten muss
  • Array mit den Elementen, von denen eines zutreffen muss
    • string – buchstäblich in einer URL zu finden
    • RegExp – von einer URL zu erfüllen

Der Name eines Fensters sollte mit einem Buchstaben beginnen, nur ASCII-Buchstaben und Ziffern enthalten; nicht mehr als 10 Zeichen zur Unterscheidung nutzen.

Beispiel:

if ( typeof mw.libs.clickDivertimento !== "object" ) {
   mw.libs.clickDivertimento  =  { };
}
mw.libs.clickDivertimento.large    = true;
mw.libs.clickDivertimento.targets  = { wphelp: "/wiki/Hilfe:",
                                       DNB:    "http://d-nb.info/",
                                       jdk:    [ "http://java.com/",
                                                 /http:\/\/(:?docs\.)?oracle\.com\// ]
                                     };

Weitere Seiten mit Listen einbeziehen Bearbeiten

Diese Option schaltet die Öffnung auf gesonderten Fenstern auch bei Listenelementen an auf folgenden Seiten:

Alle externen Weblinks in neuem Fenster öffnen Bearbeiten

Auf jeder Seite sollen alle Verlinkungen, die als URL im Quelltext notiert sind, auf andere Fenster umgeleitet werden.

  • Vorgabe: im selben Fenster öffnen, falls keine anderen Bedingungen greifen.

Völlig neues Fenster öffnen Bearbeiten

  • Für alle umgelenkten Verlinkungen (Vorgabe)
  • 1 – Gemeinsame Fenster für gleiche Aufgaben
  • 2 – Alle im selben jedoch anderem Fenster

Immer dasselbe Fenster für bestimmte URL Bearbeiten

Über besondere Muster für die URL lässt sich bewirken, dass eine Gruppe von Verlinkungen immer in demselben Fenster gesammelt werden. Dieses Fenster erhält einen selbstgewählten Namen und wird wiederverwendet.

Das wird wirksam, wenn nicht „völlig neues Fenster für alle umgelenkten Verlinkungen“, sondern eine Wiedernutzung von Fenstern konfiguriert ist.

Der Name eines Fensters sollte mit einem Buchstaben beginnen, nur ASCII-Buchstaben und Ziffern enthalten; nicht mehr als 10 Zeichen zur Unterscheidung nutzen.

Codes und Stammseite Bearbeiten

Die Stammseite ist en:User:PerfektesChaos/js/clickDivertimento mit:

Quellcode
ResourceLoader
  • ext.gadget.clickDivertimento für mw:Extension:Gadgets
  • Dependencies: user, user.options, mediawiki.user, mediawiki.util
Namensräume alle
Cookie keine
mw.libs clickDivertimento