Benutzer:V.R.S./modern/misc.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
// Logtab
$(function(){addPortletLink(
	'p-personal',
	wgArticlePath + 'Spezial:Logbuch/' + wgUserName,
	'Logs',
	'pt-logs',
	'Eigene Logeinträge',
	false,
	document.getElementById('pt-logout'));
});
// Eigene Unterseiten
$(function(){addPortletLink(
	'p-personal',
	wgArticlePath + 'Spezial:Präfixindex/Benutzer:' + wgUserName,
	'Unterseiten',
	'pt-subpages',
	'Eigene Unterseiten',
	false,
	document.getElementById('pt-preferences'));
});
// Beschriftungen von Elementen ändern
function changeTextTo(el, text) {
	el.replaceData(0, el.nodeValue.length, text);
}
$(function(){
	// Abmelden nicht so wahnsinnig groß, man verklickt sich ja dauernd
	changeTextTo(document.getElementById('pt-logout').firstChild.firstChild, 'X');
	// 'Eigene sowieso' ist unnötig
	changeTextTo(document.getElementById('pt-mytalk').firstChild.firstChild, 'Diskussion');
	changeTextTo(document.getElementById('pt-mycontris').firstChild.firstChild, 'Beiträge');
});
// alle roten Links zu Bildern normal anklickbar machen (für modern, thx@Bluefish)
if ( wgCanonicalNamespace != 'File' ) { addOnloadHook( function(){
	var Links = document.getElementById('mw_contentholder').getElementsByTagName("a");
	for (var i = Links.length -1; i>=0; i--) {
		if ( Links[i].getAttribute('href') && Links[i].getAttribute("href").indexOf('Spezial:Hochladen&wpDestFile=') > 0 ) {
			Links[i].setAttribute('href',Links[i].getAttribute('href').replace('Spezial:Hochladen&wpDestFile=', 'Bild:'));
		}
	}
});}
// Links auf Überschriften, wie in manch anderen Wiki-Engines
$(function(){
	var i,
	    headlines = [],
	    content = document.getElementById('mw_contentholder'); // modern-spezifisch
	for (i = 2; i <= 6; i++){
		headlines = headlines.concat(Array.prototype.slice.apply(content.getElementsByTagName('h'+i)));
	}
	appendCSS(
		'.hashlink{visibility: hidden; color: #888888; margin-left: 0.3em;} ' +
		'.hashlink:hover {color: #000000} ' +
		'h2:hover .hashlink, h3:hover .hashlink, h4:hover .hashlink, h5:hover .hashlink, h6:hover .hashlink {visibility: visible}' + 
		'h2:target, h3:target, h4:target, h5:target, h6:target {background-color: #CCCCCC}'
	);
	for (i = headlines.length-1; i >= 0; i--){
		(function (headline){
			// die id gehört entweder zu einem <a> direkt vor der Überschrift oder
			// zu einem <a> in einem <p> direkt vor der Überschrift
			var anchor = headline;
			do {
				anchor = anchor.previousSibling;
			} while (anchor && !/^[ap]$/i.test(anchor.nodeName)) // endet bei <a> oder <p>
			if (anchor && anchor.nodeName === 'P') anchor = anchor.getElementsByTagName('a')[0];
			if (anchor && anchor.id){
				var hashlink = document.createElement('a');
				hashlink.appendChild(document.createTextNode('#'));
				hashlink.setAttribute('href', '#' + anchor.id);
				hashlink.setAttribute('class', 'hashlink');
				headline.appendChild(hashlink);
				headline.setAttribute('id', anchor.parentNode.removeChild(anchor).getAttribute('id'));
			}
		})(headlines[i]);
	}
});