Common.js: Unterschied zwischen den Versionen
Aus U-Boot-Archiv Wiki
Markus (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „→Das folgende JavaScript wird für alle Benutzer geladen.: function ModifySidebar(action, section, name, link) { try { switch (section) { ...“) |
Markus (Diskussion | Beiträge) |
||
(18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | function ModifySidebar( action, section, name, link ) { | |
+ | try { | ||
+ | switch ( section ) { | ||
+ | case 'languages': | ||
+ | var target = 'p-lang'; | ||
+ | break; | ||
+ | case 'toolbox': | ||
+ | var target = 'p-tb'; | ||
+ | break; | ||
+ | case 'navigation': | ||
+ | var target = 'p-navigation'; | ||
+ | break; | ||
+ | default: | ||
+ | var target = 'p-' + section; | ||
+ | break; | ||
+ | } | ||
− | + | if ( action == 'add' ) { | |
− | + | var node = document.getElementById( target ) | |
− | + | .getElementsByTagName( 'div' )[0] | |
− | + | .getElementsByTagName( 'ul' )[0]; | |
− | + | ||
− | + | var aNode = document.createElement( 'a' ); | |
− | + | var liNode = document.createElement( 'li' ); | |
− | + | ||
− | + | aNode.appendChild( document.createTextNode( name ) ); | |
− | + | aNode.setAttribute( 'href', link ); | |
− | + | liNode.appendChild( aNode ); | |
− | + | liNode.className = 'plainlinks'; | |
− | + | node.appendChild( liNode ); | |
− | + | } | |
− | + | ||
− | + | if ( action == 'remove' ) { | |
− | + | var list = document.getElementById( target ) | |
− | + | .getElementsByTagName( 'div' )[0] | |
− | + | .getElementsByTagName( 'ul' )[0]; | |
− | + | ||
− | + | var listelements = list.getElementsByTagName( 'li' ); | |
− | + | ||
− | + | for ( var i = 0; i < listelements.length; i++ ) { | |
− | + | if ( | |
− | + | listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name || | |
− | + | listelements[i].getElementsByTagName( 'a' )[0].href == link | |
− | + | ) | |
− | + | { | |
− | + | list.removeChild( listelements[i] ); | |
− | + | } | |
− | + | } | |
− | + | } | |
− | + | ||
− | + | ||
− | + | } catch( e ) { | |
− | + | // let's just ignore what's happened | |
− | + | return; | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | + | ||
function CustomizeModificationsOfSidebar() { | function CustomizeModificationsOfSidebar() { | ||
− | + | // adds [[Special:CategoryTree|Special:CategoryTree]] to toolbox | |
− | + | ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'https://en.wikipedia.org/wiki/Special:CategoryTree' ); | |
− | + | // removes [[Special:Upload|Special:Upload]] from toolbox | |
− | + | ModifySidebar( 'remove', 'toolbox', 'UPLOAD' ); | |
+ | ModifySidebar( 'remove', 'toolbox', 'http://www.uboot-archiv.de/ubootwiki/index.php/Spezial:Spezialseiten' ); | ||
} | } | ||
− | + | ||
− | + | jQuery( CustomizeModificationsOfSidebar ); |
Aktuelle Version vom 31. Dezember 2020, 17:19 Uhr
function ModifySidebar( action, section, name, link ) { try { switch ( section ) { case 'languages': var target = 'p-lang'; break; case 'toolbox': var target = 'p-tb'; break; case 'navigation': var target = 'p-navigation'; break; default: var target = 'p-' + section; break; } if ( action == 'add' ) { var node = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var aNode = document.createElement( 'a' ); var liNode = document.createElement( 'li' ); aNode.appendChild( document.createTextNode( name ) ); aNode.setAttribute( 'href', link ); liNode.appendChild( aNode ); liNode.className = 'plainlinks'; node.appendChild( liNode ); } if ( action == 'remove' ) { var list = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0]; var listelements = list.getElementsByTagName( 'li' ); for ( var i = 0; i < listelements.length; i++ ) { if ( listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name || listelements[i].getElementsByTagName( 'a' )[0].href == link ) { list.removeChild( listelements[i] ); } } } } catch( e ) { // let's just ignore what's happened return; } } function CustomizeModificationsOfSidebar() { // adds [[Special:CategoryTree|Special:CategoryTree]] to toolbox ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'https://en.wikipedia.org/wiki/Special:CategoryTree' ); // removes [[Special:Upload|Special:Upload]] from toolbox ModifySidebar( 'remove', 'toolbox', 'UPLOAD' ); ModifySidebar( 'remove', 'toolbox', 'http://www.uboot-archiv.de/ubootwiki/index.php/Spezial:Spezialseiten' ); } jQuery( CustomizeModificationsOfSidebar );