Benutzer:Dbenbenn/monobook.js
Erscheinungsbild
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
function other_wiki_tab(tabs, title)
{
tabs.appendChild(addlilink('http://commons.wikimedia.org/wiki/' + title, 'commons'));
}
// Returns <li><a href="url">name</a></li>
function addlilink(url, name)
{
var na = document.createElement('a');
na.setAttribute('href', url);
var txt = document.createTextNode(name);
na.appendChild(txt);
var li = document.createElement('li');
li.appendChild(na);
return li;
}
// Adds a "blocklog" tab and fills in the username field on Special:Blockip, if a "&faketarget=username" is present.
function do_blockip_stuff()
{
// Look for a &faketarget= for the username/ip
var l = location.search.substring(1).split('&');
var target = '';
for (var i = 0; i < l.length; ++i)
{
var n = l[i].indexOf('=');
if (l[i].substring(0, n) == 'faketarget')
{
target = l[i].substring(n + 1);
break;
}
}
if (target == '')
return;
// put account name in "IP Address/username" field
var addr = document.getElementsByName('wpBlockAddress')[0];
addr.value = unescape(target);
// add "blocklog" tab
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&type=block&user=&page=User%3A' + target, 'blocklog'));
}
// Gets the URL version of the page title.
function get_tidy_title()
{
var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
// cut everything up to "title=" from the start and everything past "&action=edit" from the end
editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
return editlk;
}
// Adds "block" and "blocklog" tabs to User: and User talk: pages.
function add_user_tabs(tabs, title)
{
username = title.substring(title.indexOf(':') + 1);
var slloc = username.indexOf('/');
if (slloc > 0)
username = username.substring(0, slloc);
other_wiki_tab(tabs, title);
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&user=' + username, 'log'));
tabs.appendChild(addlilink('/w/index.php?title=Special%3ABlockip&wpBlockAddress=' + username, 'block'));
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&type=block&page=User%3A' + username, 'blocklog'));
}
function add_default_tabs(tabs, title)
{
other_wiki_tab(tabs, title);
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&page=' + title, 'log'));
}
function add_image_tabs(tabs, imagetitle)
{
other_wiki_tab(tabs, imagetitle);
tabs.appendChild(addlilink('http://tools.wikimedia.de/~daniel/WikiPlay/CheckUsage.php?w=_100000&i=' + imagetitle, 'check-usage'));
tabs.appendChild(addlilink('/w/index.php?title=Special%3ALog&page=' + imagetitle, 'log'));
imagetitle = imagetitle.substring(6);
var i = 0;
while (i < imagetitle.length && imagetitle.substring(i, i+1) >= '0' && imagetitle.substring(i, i+1) <= '9')
i++;
imagetitle = imagetitle.substring(i);
if (i > 0 && imagetitle.substring(0, 3) == 'px-') {
imagetitle = imagetitle.substring(3);
tabs.appendChild(addlilink('/wiki/Image:' + imagetitle, 'unthumb'));
}
}
function do_onload()
{
var title = get_tidy_title();
var tabs = document.getElementById('column-one').getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
if (title.indexOf('Image:') == 0)
add_image_tabs(tabs, title);
else if (title.indexOf('User:') == 0
|| title.indexOf('User_talk:') == 0)
add_user_tabs(tabs, title);
else if (title.indexOf('Block_user') == 0) // could stand to be more robust
do_blockip_stuff();
else
add_default_tabs(tabs, title);
}
if (window.addEventListener)
window.addEventListener("load", do_onload, false);
else if (window.attachEvent)
window.attachEvent("onload", do_onload);