MediaWiki:Common.js
Hulp bij het instellen van uw voorkeurenLet op! Nadat u de veranderingen heeft opgeslagen, moet u de cache van uw browser nog legen om ze daadwerkelijk te zien. In onderstaande tabel staat aangegeven hoe u dit doet.
Mozilla | reload (of ctrl-r) |
IE | ctrl-f5 |
Opera | f5 |
Safari | cmd-r |
Konqueror | ctrl-r |
/* JavaScript die hier staat zal voor alle gebruikers worden ingeladen. */
// <nowiki>
/**
* Meerdere sets speciale tekens
* Geeft menu in [[MediaWiki:Edittools]] waarmee meerdere sets speciale tekens kunnen worden geraadpleegd. Zie ook [[MediaWiki:Onlyifediting.js]]
*/
if (mw.config.get('action') == "edit" || mw.config.get('action') == "submit") {
mw.loader.load('//nl.wikibooks.org/w/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript');
}
/** begin SpecialSearchEnhanced
Dit voegt twee externe zoekmachines toe aan Speciaal:Search
Het is een bewerking van w:fr:MediaWiki:Monobook.js
en w:en:MediaWiki:Common.js
wat gemaakt is door w:fr:User:Dake en de auteurs van
w:en:MediaWiki:Common.js onder de licentie GFDL
De verdere bewerking is gedaan door w:Gebruiker:Erwin
Deze functie is aangepast aan MWSearch.
*/
if (mw.config.get('wgCanonicalSpecialPageName') == "Search") {
$(SpecialSearchEnhanced);
}
function SpecialSearchEnhanced()
{
if (document.forms['powersearch'])
var searchForm = document.forms['powersearch'];
if (document.forms['search'])
var searchForm = document.forms['search'];
if (searchForm.lsearchbox) {
var searchBox = searchForm.lsearchbox;
} else {
var searchBox = searchForm.search;
}
var searchValue = searchBox.value
var safeSearchValue = searchValue.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
var node = document.createElement('div');
var SearchEnhancedText = '<p/><br/>U kunt ook met onderstaande externe zoekmachines zoeken in Wikibooks. Deze kunnen resultaten opleveren die met de interne zoekmachine niet gevonden worden. Bij Google kunt u ook andere taalversies van Wikibooks selecteren.';
var googleSearch = '<p/><table width=100%><tr valign=top><td align=left>';
googleSearch += '<form method=get action="http://www.google.nl/search">';
googleSearch += '<input type=text name=q value="' + safeSearchValue + '">';
googleSearch += '<input type=hidden name=hl value=nl>';
googleSearch += ' <select name=sitesearch>';
googleSearch += '<option value="nl.wikibooks.org"> Nederlands </option>';
googleSearch += '<option value="en.wikibooks.org"> Engels </option>';
googleSearch += '<option value="de.wikibooks.org"> Duits </option>';
googleSearch += '<option value="fr.wikibooks.org"> Frans </option>';
googleSearch += '<option value="es.wikibooks.org"> Spaans </option>';
googleSearch += '<option value="pt.wikibooks.org"> Portugees </option>';
googleSearch += '<option value="it.wikibooks.org"> Italiaans </option>';
googleSearch += '<option value="sv.wikibooks.org"> Zweeds </option>';
googleSearch += '<option value="no.wikibooks.org"> Noors </option>';
googleSearch += '<option value="da.wikibooks.org"> Deens </option>';
googleSearch += '<option value="pl.wikibooks.org"> Pools </option>';
googleSearch += '<option value="fy.wikibooks.org"> Fries </option>';
googleSearch += '<option value="wikibooks.org"> Alle talen </option>';
googleSearch += '</select> <input type=submit value="Zoek met Google">';
googleSearch += '</form></td>';
var wikiwixSearch = '<td> </td><td align=right>';
wikiwixSearch += '<form method=get action="http://nl.wikiwix.com/">';
wikiwixSearch += '<input type=text name=action value="' + safeSearchValue + '">';
wikiwixSearch += '<input type=hidden name=disp value="book">';
wikiwixSearch += ' <input type=submit value="Zoek met Wikiwix">';
wikiwixSearch += '</form></td>';
var yahooSearch = '<td> </td><td align=right>';
yahooSearch += '<form method=get action="http://nl.search.yahoo.com/search">';
yahooSearch += '<input type=text name=p value="' + safeSearchValue + '">';
yahooSearch += '<input type=hidden name=vs value=nl.wikibooks.org>';
yahooSearch += ' <input type=submit value="Zoek met Yahoo">';
yahooSearch += '</form></td></tr>';
var liveSearch = '<tr valign=top><td align=left>';
liveSearch += '<form method=get action="http://search.live.com/results.aspx">';
liveSearch += '<input type=text name=q value="' + safeSearchValue + '">';
liveSearch += '<input type=hidden name=q1 value=site:http://nl.wikibooks.org>';
liveSearch += '</select> <input type=submit value="Zoek met Live Search">';
liveSearch += '</form></td></tr></table><br/>';
node.innerHTML = node.innerHTML + SearchEnhancedText + googleSearch + wikiwixSearch + yahooSearch + liveSearch;
var nonefound = document.getElementById("nonefound")
if (nonefound) {
nonefound.innerHTML = nonefound.innerHTML + '<div>' + node.innerHTML + '</div>';
} else {
searchForm.parentNode.insertBefore(node, searchForm.nextSibling);
}
}
/** Uitklappen **/
// ============================================================
// BEGIN Dynamisch inklapbare div
// set up the words in your language
var UitklapDivHide = 'Inklappen';
var UitklapDivShow = 'Uitklappen';
// shows and hides content of Uitklap divs
// Parameters:
// indexUitklapDiv: the index of Uitklap div to be toggled
function toggleUitklapDiv(indexUitklapDiv)
{
var UitklapToggle = document.getElementById("UitklapToggle" + indexUitklapDiv);
var UitklapFrame = document.getElementById("UitklapFrame" + indexUitklapDiv);
if (!UitklapFrame || !UitklapToggle) {
return false;
}
// if shown now
if (UitklapToggle.firstChild.data == UitklapDivHide) {
for (
var UitklapChild = UitklapFrame.firstChild;
UitklapChild != null;
UitklapChild = UitklapChild.nextSibling
) {
if (UitklapChild.className == 'UitklapContent') {
UitklapChild.style.display = 'none';
}
if (UitklapChild.className == 'UitklapToggle') {
UitklapChild.firstChild.data = UitklapDivShow;
}
}
// if hidden now
} else if (UitklapToggle.firstChild.data == UitklapDivShow) {
for (
var UitklapChild = UitklapFrame.firstChild;
UitklapChild != null;
UitklapChild = UitklapChild.nextSibling
) {
if (UitklapChild.className == 'UitklapContent') {
UitklapChild.style.display = 'block';
}
if (UitklapChild.className == 'UitklapToggle') {
UitklapChild.firstChild.data = UitklapDivHide;
}
}
}
}
// adds show/hide-button to navigation bars
function createUitklapDivToggleButton()
{
var indexUitklapDiv = 0;
// iterate over all < div >-elements
for(
var i=0;
UitklapFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (UitklapFrame.className == "UitklapFrame") {
indexUitklapDiv++;
var UitklapToggle = document.createElement("a");
UitklapToggle.className = 'UitklapToggle';
UitklapToggle.setAttribute('id', 'UitklapToggle' + indexUitklapDiv);
UitklapToggle.setAttribute('href', 'javascript:toggleUitklapDiv(' + indexUitklapDiv + ');');
var UitklapToggleText = document.createTextNode(UitklapDivHide);
UitklapToggle.appendChild(UitklapToggleText);
// add NavToggle-Button as first div-element
// in < div class="UitklapFrame" >
UitklapFrame.insertBefore(
UitklapToggle,
UitklapFrame.firstChild
);
UitklapFrame.setAttribute('id', 'UitklapFrame' + indexUitklapDiv);
}
}
for(
var i=1;
i<=indexUitklapDiv;
i++
) {
toggleUitklapDiv(i);
}
}
$(createUitklapDivToggleButton);
// EIND Dynamisch inklapbare div
// ============================================================
/** Hoofdpagina tweak */
// Bewerken en overleg bij een afbeelding op Commons linken naar Commons (kopie van de Duitse Wikipedia)
if (mw.config.get('wgNamespaceNumber') === 6) $( function() {
if (window.keepLocalFileTabs ) return;
if (document.getElementById( 'ca-history')) return; // Lokale beschrijving aanwezig?
if (!getElementsByClassName(document, 'div', 'sharedUploadNotice')[0]) return; // Alleen doen bij afbeeldingen op Commons
var path = '//commons.wikimedia.org/wiki/';
// Andere link voor overlegpagina
// vector uses ca-image_talk
var talk = document.getElementById('ca-talk') || document.getElementById('ca-image_talk');
if (talk && talk.className.match(/(^| )new( |$)/)) {
var link = talk.getElementsByTagName('a')[0];
link.href = path + 'File_talk:' + encodeURIComponent(mw.config.get('wgTitle')) + '?uselang=' + mw.config.get('wgUserLanguage');
link.className += ' commonstab';
}
// Bewerken link
var edit = document.getElementById('ca-edit') || document.getElementById('ca-viewsource');
if (edit) {
var link = edit.getElementsByTagName('a')[0];
link.href = path + 'File:' + encodeURIComponent(mw.config.get('wgTitle')) + '?uselang=' + mw.config.get('wgUserLanguage') + '&action=edit';
link.className += ' commonstab';
link.firstChild.nodeValue = 'bewerken';
}
});
/**
* Direct imagelinks to Commons
*
* Required modules: mediawiki.util
*
* @source https://www.mediawiki.org/wiki/Snippets/Direct_imagelinks_to_Commons
* @author Krinkle
* @version 2017-08-30
*/
if ( mw.config.get( 'wgNamespaceNumber', 0 ) >= 0 ) {
mw.loader.using( [ 'mediawiki.util' ] ).then( function () {
mw.hook( 'wikipage.content' ).add( function ( $content ) {
var uploadBaseRe = /^(https:)?\/\/upload\.wikimedia\.org\/wikipedia\/commons/,
localFileNSString = mw.config.get( 'wgFormattedNamespaces' )['6'] + ':',
localBasePath = new RegExp( '^' + mw.RegExp.escape( mw.util.getUrl( localFileNSString ) ) ),
localBaseScript = new RegExp( '^' + mw.RegExp.escape(
mw.util.wikiScript() + '?title=' + mw.util.wikiUrlencode( localFileNSString )
) ),
commonsBasePath = 'https://commons.wikimedia.org/wiki/File:',
commonsBaseScript = 'https://commons.wikimedia.org/w/index.php?title=File:';
$content.find( 'a.image, a.mw-file-description' ).attr( 'href', function ( i, currVal ) {
if ( uploadBaseRe.test( $( this ).find( 'img' ).attr( 'src' ) ) ) {
return currVal
.replace( localBasePath, commonsBasePath )
.replace( localBaseScript, commonsBaseScript );
}
} );
} );
} );
}
// </nowiki>