MediaWiki:Common.js
Nederlandse ShoutWiki
Jump to navigation
Jump to search
Opmerking: nadat u de wijzigingen hebt opgeslagen is het wellicht nodig uw browsercache te legen.
- Firefox / Safari: houd Shift ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
- Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
- Internet Explorer: houd Ctrl ingedrukt terwijl u op Vernieuwen klikt of druk op Ctrl-F5
- Opera: ga naar Menu → Instellingen (Opera → Voorkeuren op een Mac) en daarna naar Privacy & beveiliging → Browsegegevens wissen... → Tijdelijk opgeslagen afbeeldingen en bestanden.
/* JavaScript die hier wordt geplaatst heeft invloed op alle pagina's voor alle gebruikers */
importScript( 'MediaWiki:Functions.js' );
// Standard summaries on edit page (?action=edit)
function fillEditSummaries() {
var label = document.getElementById( 'wpSummaryLabel' );
if( label === null ) {
return;
}
var comboString = 'Standard summaries: <select id="stdSummaries" onchange="onStdSummaryChange()">';
comboString += '</select><br />';
label.innerHTML = comboString + label.innerHTML;
requestComboFill( 'stdSummaries', 'Sjabloon:Stdsummaries' );
}
function onStdSummaryChange() {
var combo = document.getElementById( 'stdSummaries' );
var value = combo.options[combo.selectedIndex].value;
if( value != '' ) {
if( skin == 'monaco' ) { // Monaco skin + EditEnhancements extension
document.getElementById('wpSummaryEnhanced').value = value;
} else {
document.getElementById('wpSummary').value = value;
}
}
}
function fillPreloads() {
var div = document.getElementById( 'lf-preload' );
if( div === null ) {
return;
}
div.style.display = 'block';
var span = document.getElementById( 'lf-preload-cbox' );
var comboString = '<select id="stdPreloads" onchange="onPreloadChange()">';
comboString += '</select>';
span.innerHTML = comboString;
span = document.getElementById( 'lf-preload-pagename' );
span.innerHTML = '<input type="text" class="textbox" />';
span = document.getElementById( 'lf-preload-button' );
span.innerHTML = '<input type="button" class="button" value="Insert" onclick="doCustomPreload()" />';
requestComboFill( 'stdPreloads', 'Template:Stdpreloads' );
}
function doCustomPreload() {
doPreload( document.getElementById('lf-preload-pagename').getElementsByTagName('input')[0].value );
}
function onPreloadChange() {
var combo = document.getElementById( 'stdPreloads' );
var value = combo.options[combo.selectedIndex].value;
if( value == '' ) {
return;
}
value = 'Template:' + value + '/preload';
value = value.replace( ' ', '_' );
doPreload( value );
}
addOnloadHook( fillEditSummaries );
/* Returns h1.firstHeading (the page title element). */
function getFirstHeading() {
var elements = getElementsByClass( 'firstHeading', document.getElementById( 'content' ), 'h1' );
return ( elements != null && elements.length > 0 ) ? elements[0] : null;
}
/*
Source: http://www.dustindiaz.com/getelementsbyclass/
getElementsByClass, which complements getElementById and getElementsByTagName, returns an array of all subelements of ''node'' that are tagged with a specific CSS class (''searchClass'') and are of the tag name ''tag''. If tag is null, it searches for any suitable elements regardless of the tag name.
Example: getElementsByClass( 'infobox', document.getElementById( 'content' ), 'div' ) selects the same elements as the CSS declaration #content div.infobox
*/
function getElementsByClass( searchClass, node, tag ) {
var classElements = new Array();
if( node == null ) {
node = document;
}
if( tag == null ) {
tag = '*';
}
var els = node.getElementsByTagName( tag );
var elsLen = els.length;
var tester = new ClassTester( searchClass );
for( i = 0, j = 0; i < elsLen; i++ ) {
if( tester.isMatch( els[i] ) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
function ClassTester( className ) {
this.regex = new RegExp( "(^|\\s)" + className + "(\\s|$)" );
}
ClassTester.prototype.isMatch = function( element ) {
return this.regex.test( element.className );
}
/* end getElementsByClass */
// BEGIN JavaScript title rewrite
function rewriteTitle() {
if( typeof( window.SKIP_TITLE_REWRITE ) != 'undefined' && window.SKIP_TITLE_REWRITE ) {
return;
}
var titleDiv = document.getElementById( 'title-meta' );
if( titleDiv == null ) {
return;
}
var cloneNode = titleDiv.cloneNode( true );
var firstHeading = getFirstHeading();
var node = firstHeading.childNodes[0];
// new, then old!
firstHeading.replaceChild( cloneNode, node );
cloneNode.style.display = 'inline';
var titleAlign = document.getElementById( 'title-align' );
firstHeading.style.textAlign = titleAlign.childNodes[0].nodeValue;
}
addOnloadHook( rewriteTitle );
// END JavaScript title rewrite