MediaWiki:Monobook.js: Porovnání verzí
(Podle de, upraveno) |
(Test) |
||
Řádka 14: | Řádka 14: | ||
window.onload = function() { | window.onload = function() { | ||
+ | alert('Onload test'); | ||
if (window.aOnloadFunctions) { | if (window.aOnloadFunctions) { | ||
for (var _i=0; _i<aOnloadFunctions.length; _i++) { | for (var _i=0; _i<aOnloadFunctions.length; _i++) { |
Verse z 24. 2. 2007, 19:23
/* <pre> */ // ============================================================ // BEGIN Enable multiple onload functions // setup onload functions this way: // aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets! if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { alert('Onload test'); if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } // END Enable multiple onload functions // ============================================================ // ============================================================ // BEGIN Externhinweis // NEEDS Enable multiple onload functions /* function externHinweis() { if ( (document.getElementById("pt-login")) && // ob der Benutzer NICHT angemeldet ist (document.getElementById("ca-edit")) && // ob die seite nicht geschützt ist (!document.getElementById("ca-nstab-user")) && // ob die seite keine benutzerseite ist (document.referrer != "") && // ob der referrer nicht leer ist (document.referrer.search(/wikipedia\.org/) == -1) // ob der Referrer NICHT wikipedia.org enthält ) { var externHinweis = document.createElement("div"); externHinweis.setAttribute('id','externHinweis'); // Hier kann der Text verändert werden. // Bitte keine einfachen Anführungsstriche im Text verwenden! // Wikisyntax funktioniert nicht! externHinweis.innerHTML = '<a href="/iuridictum/Iuridictum:Vítejte" title="Iuridictum:Vítejte">Opravte chybu nebo článek rozšiřte!</</a>'; document.getElementById("content").appendChild(externHinweis); } } aOnloadFunctions[aOnloadFunctions.length] = externHinweis; */ // END Externhinweis // ============================================================ // ============================================================ // BEGIN Dynamic Navigation Bars // NEEDS Enable multiple onload functions // set up the words in your language var NavigationBarHide = 'Skrýt'; var NavigationBarShow = 'Zobrazit'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden if (typeof NavigationBarShowDefault == 'undefined' ) { var NavigationBarShowDefault = 1; } // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarShow; } } // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavToggle') { NavChild.firstChild.data = NavigationBarHide; } } } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // add NavToggle-Button as first div-element // in < div class="NavFrame" > NavFrame.insertBefore( NavToggle, NavFrame.firstChild ); NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( var i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } } } aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton; // END Dynamic Navigation Bars // ============================================================ // ============================================================ // BEGIN Moving of the editsection links /* * moveEditsection * Dieses Script verschiebt die [Bearbeiten]-Buttons vom rechten Fensterrand * direkt rechts neben die jeweiligen Überschriften. * This script moves the [edit]-buttons from the right border of the window * directly right next to the corresponding headings. * * Zum Abschalten die folgende Zeile (ohne führendes Sternchen) in die eigene * monobook.js (zu finden unter [[Special:Mypage/monobook.js|Benutzer:Name/monobook.js]]) kopieren: * var oldEditsectionLinks = true; * * dbenzhuser (de:Benutzer:Dbenzhuser) */ function moveEditsection() { if (typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false) { var spans = document.getElementsByTagName("span"); for(var i = 0; i < spans.length; i++) { if(spans[i].className == "editsection") { spans[i].style.fontSize = "x-small"; spans[i].style.fontWeight = "normal"; spans[i].style.cssFloat = "none"; spans[i].style.marginLeft = "0px"; spans[i].parentNode.appendChild(document.createTextNode(" ")); spans[i].parentNode.appendChild(spans[i]); } } } } // onload addOnloadHook(moveEditsection); // END Moving of the editsection links // ============================================================ // ============================================================ // BEGIN import Onlyifediting-functions // SEE ALSO [[MediaWiki:Onlyifediting.js]] if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0) { document.write('<script type="text/javascript" src="/iuridictum/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } // END import Onlyifediting-functions // ============================================================ // ============================================================ // BEGIN pageview counter // SEE ALSO [[MediaWiki:Pagecounter.js]] // Please talk to User:LeonWeber before changing anything or // if there are any issues with this. // disable the counter var disable_counter = 0; document.write('<script type="text/javascript" src="/iuridictum/index.php?title=MediaWiki:Pagecounter.js&action=raw&ctype=text/javascript&dontcountme=s&smaxage=3600"></script>'); // END pageview counter // ============================================================ /* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','Vaše uživatelská stránka'); ta['pt-anonuserpage'] = new Array('.','Uživatelská stránka pro IP adresu, ze které editujete jako'); ta['pt-mytalk'] = new Array('n','Vaše diskusní stránka'); ta['pt-anontalk'] = new Array('n','Diskuse o editacích provedených z této IP adresy'); ta['pt-preferences'] = new Array('','Vaše nastavení'); ta['pt-watchlist'] = new Array('l','Seznam stránek, jejichž změny sledujete'); ta['pt-mycontris'] = new Array('y','Seznam vašich příspěvků'); ta['pt-login'] = new Array('o','Přihlášení není povinné, ale přináší mnoho výhod.'); ta['pt-anonlogin'] = new Array('o','Přihlášení není povinné, ale přináší mnoho výhod.'); ta['pt-logout'] = new Array('o','Odhlášení'); ta['ca-talk'] = new Array('t','Diskuse o stránce'); ta['ca-edit'] = new Array('e','Tuto stránku můžete editovat. Prosím, před uložením použijte tlačítko \'Zobrazit náhled\'.'); ta['ca-addsection'] = new Array('+','Přidat komentář'); ta['ca-viewsource'] = new Array('e','Tato stránka je uzamčena. Můžete zobrazit její zdrojový kód.'); ta['ca-history'] = new Array('h','Minulé verse této stránky.'); ta['ca-protect'] = new Array('=','Zamknout tuto stránku'); ta['ca-delete'] = new Array('d','Smazat tuto stránku'); ta['ca-undelete'] = new Array('d','Obnovit editace provedené na této stránce před smazáním'); ta['ca-move'] = new Array('m','Přesunout tuto stránku'); ta['ca-nomove'] = new Array('','Nemáte dovoleno přesunout tuto stránku'); ta['ca-watch'] = new Array('w','Přidat tuto stránku mezi sledované'); ta['ca-unwatch'] = new Array('w','Odebrat tuto stránku ze seznamu sledovaných'); ta['search'] = new Array('f','Hledat na Iuridictu'); ta['p-logo'] = new Array('','Hlavní strana'); ta['n-mainpage'] = new Array('z','Navštívit hlavní stranu'); ta['n-portal'] = new Array('','O projektu, jak můžete pomoci, kde co najít'); ta['n-currentevents'] = new Array('','Informace o aktuálních událostech'); ta['n-recentchanges'] = new Array('r','Seznam posledních změn na Iuridictu'); ta['n-randompage'] = new Array('x','Zobrazit náhodně zvolenou stránku'); ta['n-help'] = new Array('','Místo, kde najdete pomoc.'); ta['n-sitesupport'] = new Array('','Jak nás podpořit'); ta['t-whatlinkshere'] = new Array('j','Seznam všech stránek, které sem odkazují'); ta['t-recentchangeslinked'] = new Array('k','Nedávno editované stránky, na které tato stránka odkazuje'); ta['feed-rss'] = new Array('','RSS kanál pro tuto stránku'); ta['feed-atom'] = new Array('','Atom kanál pro tuto stránku'); ta['t-contributions'] = new Array('','Zobrazit seznam příspěvků tohoto uživatele'); ta['t-emailuser'] = new Array('','Poslat tomuto uživateli e-mail'); ta['t-upload'] = new Array('u','Načíst obrázky nebo multimediální soubory'); ta['t-specialpages'] = new Array('q','Seznam všech speciálních stránek'); ta['ca-nstab-main'] = new Array('c','Zobrazit článek'); ta['ca-nstab-user'] = new Array('c','Zobrazit stránku uživatele'); ta['ca-nstab-media'] = new Array('c','Zobrazit informační stránku souboru'); ta['ca-nstab-special'] = new Array('','To je speciální stránka, kterou nelze editovat.'); ta['ca-nstab-wp'] = new Array('c','Zobrazit informační stránku o projektu'); ta['ca-nstab-image'] = new Array('c','Zobrazit informační stránku obrázku'); ta['ca-nstab-mediawiki'] = new Array('c','Zobrazit systémového hlášení'); ta['ca-nstab-template'] = new Array('c','Zobrazit šablonu'); ta['ca-nstab-help'] = new Array('c','Zobrazit stránku nápovědy'); ta['ca-nstab-category'] = new Array('c','Zobrazit stránku kategorie'); if (window.showModalDialog && document.compatMode && document.compatMode == "CSS1Compat") { var oldWidth; var docEl = document.documentElement; function fixIEScroll() { if (!oldWidth || docEl.clientWidth > oldWidth) doFixIEScroll(); else setTimeout(doFixIEScroll, 1); oldWidth = docEl.clientWidth; } function doFixIEScroll() { docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : ""; } document.attachEvent("onreadystatechange", fixIEScroll); attachEvent("onresize", fixIEScroll); } function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } function LinkFA() { // iterate over all <span>-elements for(var i=0; a = document.getElementsByTagName("span")[i]; i++) { // if found a FA span if(a.className == "FA") { // iterate over all <li>-elements for(var j=0; b = document.getElementsByTagName("li")[j]; j++) { // if found a FA link if(b.className == "interwiki-" + a.id) { b.style.padding = "0 0 0 16px"; b.style.backgroundImage = "url('http://upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')"; b.style.backgroundRepeat = "no-repeat"; b.title = "Tento článek byl vybrán jako článek týdne"; } } } } } addLoadEvent(LinkFA); // ============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // set up the words in your language var NavigationBarHide = '[ Skrýt ]'; var NavigationBarShow = '[ Zobrazit ]'; // set up max count of Navigation Bars on page, // if there are more, all will be hidden // NavigationBarShowDefault = 0; // all bars will be hidden // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden var NavigationBarShowDefault = 1; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar(indexNavigationBar) { var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); if (!NavFrame || !NavToggle) { return false; } // if shown now if (NavToggle.firstChild.data == NavigationBarHide) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'none'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if (NavToggle.firstChild.data == NavigationBarShow) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if (NavChild.className == 'NavPic') { NavChild.style.display = 'block'; } if (NavChild.className == 'NavContent') { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements for( var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++ ) { // if found a navigation bar if (NavFrame.className == "NavFrame") { indexNavigationBar++; var NavToggle = document.createElement("a"); NavToggle.className = 'NavToggle'; NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); var NavToggleText = document.createTextNode(NavigationBarHide); NavToggle.appendChild(NavToggleText); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for( var j=0; j < NavFrame.childNodes.length; j++ ) { if (NavFrame.childNodes[j].className == "NavHead") { NavFrame.childNodes[j].appendChild(NavToggle); } } NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); } } // if more Navigation Bars found than Default: hide all if (NavigationBarShowDefault < indexNavigationBar) { for( var i=1; i<=indexNavigationBar; i++ ) { toggleNavigationBar(i); } } } addLoadEvent(createNavigationBarToggleButton); // END Dynamic Navigation Bars // ============================================================ /* </pre> */