Benutzer:Javascript/monobook.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// __NOTOC__
// {{h3|Zum Tipp: [[Wikiversity:Bearbeiten-Link rechts neben den Überschriften]]}}
//<pre style="background-color:papayawhip">
/**************************************************
* Funktion des onload-Attributes des body-Tags *
* *
* Hier wird die aktivierte Einstellung *
* ''Seiten mit Doppelklick bearbeiten'' *
* vorausgesetzt (Zu finden unter: *
* Special:Preferences - Abschnitt "Bearbeiten") *
***************************************************/
function setupRightClickEdit(){
moveEditsection();
}
/**************************************************
* Funktion zum Verschieben der "Bearbeiten"-Links *
***************************************************/
function moveEditsection() {
// Sammelt alle span-Elemente der Klasse "editsection".
var editsections = new Array();
var divs = document.getElementById("bodyContent").getElementsByTagName("span");
for(var i = 0; i < divs.length; i++) {
if(divs[i].className == "editsection") {
editsections.push(divs[i]);
}
}
// alert(editsections.length + " Editsections gefunden!");
// Wenn die Seite Editsection-Links enthält.
if (editsections.length != 0) {
// Sucht zu jedem Editsection-Link die nachfolgende Überschrift.
var i = 0;
var element, heading;
while (editsections[i] != null) {
element = editsections[i];
heading = element.nextSibling;
// alert("Nodename: "+heading.nodeName);
while(!/^H[1-6]$/.test(heading.nodeName) && !/^SPAN$/.test(heading.nodeName)) {
heading = heading.nextSibling;
// alert("Nodename: "+heading.nodeName);
}
// alert("Nodename: "+heading.nodeName);
// Erstellt innerhalb der Überschrift ein per CSS formatiertes span-Element.
// Dort hinein wird dann der Editsection-Link verschoben.
// Anschließend werden die Reste des alten Editsection-Buttons entfernt.
var spanElement = document.createElement("span");
var spaceNode = document.createTextNode(" ");
heading.appendChild(spaceNode);
heading.appendChild(spanElement);
spanElement.style.fontSize = "x-small";
spanElement.style.fontWeight = "normal";
while (element.childNodes.length != 0) {
spanElement.appendChild(element.childNodes[0]);
}
element.parentNode.removeChild(element);
i++;
}
}
}
// </pre>
//{{h3|Zum Tipp: [[Wikiversity:Betreffzeilen als Linkgallerie in Archiven]]}}
//<pre style="background-color:moccasin">
/**************************************************
* Funktion zum Einfügen eines Eintrags in die *
* "persönlichen Werkzeuge" (am oberen Rand) *
***************************************************/
function addPersonalEntry(fctname,text){
var liNode;
var textNode = document.createTextNode(text);
var personal = document.getElementById("p-personal").getElementsByTagName("ul");
if(personal.length){personal = personal[0];}
if(fctname==null){
liNode = document.createElement("li");
liNode.appendChild(textNode);
}else{
liNode = document.getElementById("pt-logout").cloneNode(true);
var linkNode = liNode.getElementsByTagName("a");
if(linkNode.length){ linkNode=linkNode[0]; }
linkNode.setAttribute("href","#");
linkNode.setAttribute("onClick",fctname+"();");
linkNode.setAttribute("title","Nutzerdefinierte Javascript-Funktion");
if(linkNode.getAttribute("accesskey")){linkNode.removeAttribute("accesskey");}
linkNode.replaceChild(textNode,linkNode.firstChild);
}
liNode.setAttribute("id","pt-jsfct");
personal.appendChild(liNode);
}
/**************************************************
* Funktion zum Erzeugen einer Linkgallery aus den *
* Betreffzeilen im Archiv mit Inhaltsverzeichnis *
***************************************************/
function myLinkGallery(){
var alt="2";
var i=tlink(alt);
if ( i > 0 ){
alert('Es wurden '+i+' Links der '+alt+'. Ebene in eine Gallery gesetzt.');
document.editform.wpMinoredit.checked=true;
document.editform.wpSummary.value=alt+'. Überschriftenebene als gallery aus '+i+' Links gestaltet';
document.editform.wpSummary.focus();
} else {
alert('Es wurde kein Vorkommen gefunden');
}
}
/**************************************************
* Hilfsfunktion zum Erzeugen einer Linkgallery *
***************************************************/
function tlink(alt){
// Sammelt alle li-Elemente der Klasse "toclevel-"+alt.
var tocsections = new Array();
var divs = document.getElementById("toc");
if(!divs || divs.length == 0){
alert("Kein Inhaltsverzeichnis gefunden.\nBitte \"Vorschau zeigen\" lassen\nund dann nochmals Linkgallerie erzeugen!");
return 0;
}
divs = divs.getElementsByTagName("li");
for(var i = 0; i < divs.length; i++) {
if(divs[i].className == "toclevel-"+alt) {
tocsections.push(divs[i].getElementsByTagName("a"));
}
}
var content=
"<noinclude>"+
"{{Diese Vorlage|enthält die Betreffzeilen der archivierten "+
"Diskussionsbeiträge bis zum {{SUBPAGENAME}}. "+
"Über die obenstehenden Links kommt man zum Archiv zurück.}}"+
"</noinclude><includeonly>\n{| class=\"gallery\" width=\"100%\"";
var count=0;
/** Alle toc-A-Tags abklappern **/
for(var i=0; i<tocsections.length; i++){
var href = String(tocsections[i][0]);
if (href.indexOf("#")!=-1){
/^.*#(.+)$/.test(href);
href="[[{{FULLPAGENAME}}/{{{1}}}#"+RegExp.$1;
var k = tocsections[i][0].getElementsByTagName("span");
k=k[1].firstChild;
href += "|"+k.nodeValue+"]]";
if (++count < 5){
content += "\n|width=\"25%\"|"+href;
}else{
if(count % 4 == 1){content += "\n|-";}
content += "\n|"+href;
}
}
}
while(count % 4 !=0){ content += "\n| "; count++;}
content += "\n|}</includeonly>";
document.editform.wpTextbox1.value=content;
return tocsections.length;
}
// </pre>
// {{h3|Zum Tipp: [[Wikiversity:Information-Vorlage im Hochladetextfeld]]}}
// <pre style="background-color:papayawhip">
/**************************************************
* Funktion zum Setzen von Lizenzinfos beim Upload *
**************************************************/
function myUploadInfo(){
if (wgPageName != 'Spezial:Upload'){ return; }
var upLoad = document.getElementById('wpUploadDescription');
if(!upLoad){return;}
if (upLoad.length){upLoad = upLoad[0];}
var datum = new Date();
if (!upLoad.nodeValue){
upLoad.appendChild(
document.createTextNode(
"{{Information\n"+
"|Beschreibung=\n"+
"|Quelle=selbst erstellt\n"+
"|Urheber=[[Benutzer:"+wgUserName+"]]\n"+
"|Datum="+datum.getFullYear()+"\n"+
"|Genehmigung=\n"+
"|Andere Versionen=\n"+
"|Anmerkungen=\n"+
"}}\n"+
"{{Bild-GFDL}}"
)
);
}
}
// </pre>
// {{h3|Gemeinsamer Javascript-Quelltext }}
// <pre>
/**************************************************
* Funktion, die nach dem vollständigen Laden *
* des HTML-Dokuments aufgerufen wird *
**************************************************/
function Init() {
/* Zum Tipp: [[Wikiversity:Betreffzeilen als Linkgallerie in Archiven]] */
if (isMyArchiv){addPersonalEntry('myLinkGallery','Linkgallerie');}
/* Zum Tipp: [[Wikiversity:Information-Vorlage im Hochladetextfeld]] */
if (isMyUpload){myUploadInfo();}
}
/**************************************************
* Variable zur Kennzeichnung der Uploadseite *
**************************************************/
var isMyUpload = (wgPageName == "Spezial:Upload");
var isMyArchiv = (document.URL.indexOf('/Archiv/')>0 && document.URL.indexOf('action=')>0);
/**************************************************
* Verknüpfen der Init-Funktion mit dem "onload"- *
* Attribut des HTML-Dokuments für diverse Browser *
**************************************************/
if (window.addEventListener) {
window.addEventListener("load", Init, false);
} else if (window.attachEvent) {
window.attachEvent("onload", Init);
} else {
if ( window.onload != null ) {
var oldOnload = window.onload;
window.onload = function(args) {
oldOnload(args);
window[Init]();
};
} else {
window.onload = Init;
}
}
//</pre>