Ich möchte hinzufügen externes Skript Kopf Abschnitt für alle Seiten in MediaWiki.Wie fügt man den externen <script> zu <head> Abschnitt für alle Mediawiki-Seiten hinzu?
Funktion onBeforePageDisplay
Rückruf von BeforePageDisplay
Haken:
//LocalSettings.php
...
# Assign my functions to hook
$wgHooks['BeforePageDisplay'][] ='onBeforePageDisplay';
function onBeforePageDisplay(OutputPage &$out, Skin &$skin)
{
mw.loader.load('http://static.wowhead.com/widgets/power.js', 'text/javascript');
$out->addModules('mw.loader');
return true;
};
In dieser Funktion i
<script type="text/javascript" src="http://static.wowhead.com/widgets/power.js"></script>
<script>var wowhead_tooltips = { "colorlinks": true, "iconizelinks": true, "renamelinks": true }</script>
zu <head>
Abschnitt für alle Seiten in dem Wiki hinzufügen möchten.
Für alte Versionen von Mediawiki verwendet addScript
Methode von OutputPage Objekt:
$out->addScript($html)
// Add a JS file. $html is a full script tag: '<script type="text/javascript" src="..."></script>'
aber jetzt
Für MediaWiki 1.17 und höher, verwenden Resourcemodule.
$ out-> addModules (Array (/ Module /));
Ich konnte es nicht funktionieren lassen und finde keine Beispiele dafür.
Vielleicht habe ich mw.loader.load
Modul verwenden, aber ich habe keine Ahnung, wie es zu tun. Hilf mir bitte und entschuldige mein Englisch.
Ps.s. this Lösung funktioniert, ist aber nicht richtig. Brauchen Sie eine Lösung mit gebrauchtem ResourseLoader. (C) IMHO
Es gibt keine Möglichkeit, externe Skripte von ResorseLoader zu laden. Ich habe meine eigene Erweiterung geschrieben, um das zu tun. Bessere Lösung aus meiner Antwort. И у тебя в коде яваскрипт вставлен в пхп. :) – hlcs