wikEd und JavaScript-Programmierung
Diese Seite beschreibt Besonderheiten der JavaScript-Programmierung für oder mit dem Texteditor wikEd.
Ab September 2010 wurden die Konfigurationsvariablen von wikEd durch Eigenschaften des Objekts window.wikEd.config.
… ersetzt. Die Existenz dieses Objekts (typeof(window.wikEd) === "object")
) zeigt die mögliche Aktivität von wikEd an und sollte sicherheitshalber vor Zugriff im Skript geprüft werden. Beispiel:
if (! mw.config.get("wgIsArticle")) {
if ( /^(edit|submit)$/.test( mw.config.get("wgAction") ) ) {
if (window.wikEd) {
window.wikEd.config.filePreview = false;
}
}
}
window.wikEd.config.filePreview
(2010-09…)
= false;
window.wikEdFilePreview
(…2010-08/09)
= false;
window.wikEd.config.disabled
=== true
– ist vorhanden, aber nicht aktivwindow.wikEd.useWikEd
Für Benutzerskripte in Zusammenarbeit mit wikEd sind wichtig:
window.wikEd.UpdateFrame()
wpTextbox1
nach WikEd.window.wikEd.UpdateTextarea()
wpTextbox1
.window.wikEd.Setup();
wikEd
zeigt an, dass das wikEd-Skript geladen wurde. Nachdem die Seite geladen wurde, erfolgt wikEd.Setup() und die Aktivitäten von wikEd können danach trotzdem zeitweilig disabled
werden.Die einfache Einbindung per Häkchen in den Helferlein ist immer wirksam. WikEd arbeitet aber nur mit Gecko-Browsern zusammen, also in erster Linie Firefox. Wechselt jemand häufig den Browser, führt dies möglicherweise im Internet Explorer zu Fehlern. Eine bedingte Einbindung kann über die eigene common.js in Abhängigkeit vom momentanen Browser erfolgen:
if ( jQuery.client.profile().layout === "gecko" ) {
mw.loader.load( "//en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&action=raw&bcache=1&maxage=86400&ctype=text/javascript" );
}
Dabei ist jQuery.client
ein Modul, dessen Laden zuvor geprüft worden sein muss.