MediaWiki:Gadget-WikidataLabel.js
OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.
- Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
- Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
- Internet Explorer / Edge: Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5
- Opera: Tryck Ctrl-F5.
$( function() {
'use strict';
var iwapi = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php' );
var v = mw.config.get();
var heading = $( '#firstHeading' );
if ( $( '#section_0' ).length ) {
heading = $( '#section_0' );
}
var pageName = heading[ 0 ].childNodes[ 0 ].textContent;
if ( v.wgWikibaseItemId ) {
iwapi.get( {
action: 'wbgetentities',
ids: v.wgWikibaseItemId,
props: 'labels',
languages: v.wgContentLanguage,
formatversion: 2
} ).done( function( data ) {
var entitiesobj = data.entities;
var entityobj;
var labelsobj;
var labelobj;
var label;
var newPageTitle;
if ( entitiesobj ) {
entityobj = entitiesobj[ v.wgWikibaseItemId ];
if ( entityobj ) {
labelsobj = entityobj.labels;
if ( labelsobj ) {
labelobj = labelsobj[ v.wgContentLanguage ];
if ( labelobj ) {
label = labelobj.value;
if ( label ) {
newPageTitle = pageName.charAt( 0 ).toLowerCase() + pageName.substring( 1 );
if ( newPageTitle.indexOf( label ) === 0 ) {
document.title = document.title.replace( pageName, newPageTitle );
heading[ 0 ].childNodes[ 0 ].textContent = newPageTitle;
} else if ( pageName.indexOf( label ) === 0 ) {
mw.hook( 'wikidatalabeleligibleforlowercase' ).fire();
}
}
}
}
}
}
} );
}
} );