Ich würde gerne ein wenig Javascript auf meinen Wiki-Seiten verwenden, aber ich konnte nicht herausfinden, wie. Ich verwende eine gehostete Lösung auf Wikia . Daher kann ich die Installation nicht ändern, Erweiterungen hinzufügen oder die Einstellungen hacken. Aber ich habe Administratorrechte in meinem Wiki, so dass ich auf den MediaWiki
namespace und MediaWiki:Common.js
zugreifen kann.
Das Javascript, das ich verwenden möchte ( Tangle ) besteht aus einem externen Skript, das für mehrere Seiten verwendet wird (aber nicht alle Seiten im Wiki) und ein Code, der für jede Seite spezifisch ist, die Art, die du normalerweise in das <script>
-Tag schreiben würdest.
Das Problem ist, dass Mediawiki <script>
-Tags bereinigt und ich keine Möglichkeit gefunden habe, sie einzufügen. Ich versuche, dies zu einem Editor-freundlichen Setup zu machen, das im gesamten Wiki verwendet wird Ich versuche also, Hacks zu vermeiden und eine angemessene Lösung zu finden.
Anscheinend bereinigt MediaWiki auch die HTML5-Datenattribute, auf die Tangle stark angewiesen ist. Irgendwelche Ideen zur Lösung dieses Problems sind sehr willkommen.
MediaWiki erlaubt nicht <script>
-Tags in Seiten aus offensichtlichen Gründen: wenn dies der Fall wäre, könnte jemand sie verwenden, um JavaScript in Ihr Wiki zu injizieren und z. stehlen Anmeldedaten.
Es gibt ein paar Dinge, die Sie tun könnten:
Schreiben Sie generischen JavaScript-Code, um die Parameter von etwas zu extrahieren, das auf MediaWiki-Seiten erlaubt ist, z. B. eine versteckte <div>
. Achten Sie darauf, keine Sicherheitslücken einzuführen.
Fügen Sie MediaWiki so etwas wie: Common.js:
hinzu %Vor%Dann, wenn ein Benutzer die Seite "Foo" besucht, wird die Seite "MediaWiki: Tangle / Foo.js" als JavaScript geladen. Natürlich kann diese Seite nur von Admins bearbeitet werden, aber das reicht vielleicht noch für Ihre Bedürfnisse. (Sie könnten den gleichen Trick verwenden, um JS von Seiten in anderen Namespaces zu importieren, aber das würde eine Sicherheitslücke meilenweit öffnen.)
Tags und Links javascript mediawiki