MediaWiki:Gadget-iwlinks.js
Merk: Etter publisering vil det kanskje være nødvendig å slette mellomlageret i nettleseren din for å se endringene.
- Firefox / Safari: Hold Shift mens du klikker på Oppdater, eller trykk enten Ctrl+F5 eller Ctrl+R (⌘+R på Mac)
- Google Chrome: Trykk Ctrl+Shift+R (⌘+Shift+R på Mac)
- Internet Explorer / Edge: Hold Ctrl mens du trykker på Oppdater eller trykk Ctrl+F5
- Opera: Ttrykk Ctrl+F5.
(function() {
if (!mw.config.get( 'wgIsArticle' )) return;
if (mw.config.get( 'wgNamespaceNumber' ) != 0) return;
if (!/^(view)$/.test(mw.config.get( 'wgAction' ))) return;
var languages = {
'nn' : {
index: '//nn.wikipedia.org/wiki/',
api: '//nn.wikipedia.org/w/api.php',
name: 'nynorsk'
},
'sv' : {
index: '//sv.wikipedia.org/wiki/',
api: '//sv.wikipedia.org/w/api.php',
name: 'svensk'
},
'da' : {
index: '//da.wikipedia.org/wiki/',
api: '//da.wikipedia.org/w/api.php',
name: 'dansk'
}
};
var combiner = ' og ';
var query = {
action: 'query',
prop: 'info',
format: 'json',
maxage: 15*60,
smaxage: 24*60*60
};
$(function(){
var pagesize = parseInt($('#bodyContent .stubb .iwcheck').attr('title'));
if (isNaN(pagesize)) return;
var plang = $('#p-lang');
for (var x in languages) {
var title = plang.find('.interwiki-' + x + ' a').attr('title');
if (!title) continue;
$.ajax({
url: languages[x].api,
dataType: 'jsonp',
data: jQuery.extend({'titles': title, requestid: x}, query),
cache: true,
context: document.body,
success: function(data, textStatus){
if (textStatus && textStatus !== 'success') {
mw.log('Success, but with "' + textStatus + '"');
return;
}
languages[data.requestid].length = 0;
for (var x in data.query.pages)
if (languages[data.requestid].length < data.query.pages[x].length) {
languages[data.requestid].length = data.query.pages[x].length;
languages[data.requestid].title = data.query.pages[x].title;
}
var a = [];
for (var x in languages) {
if (1.1*pagesize < languages[x].length && pagesize+200 < languages[x].length) {
var html = '<a'
+ ' href="' + languages[x].index + mw.util.wikiUrlencode(languages[x].title) + '"'
+ ' title="' + languages[x].length + '"'
+ '>' + languages[x].name + '</a>';
a.push(html);
}
}
if (a.length) {
var last = a.pop();
var first = a.join(', ');
$('#bodyContent .stubb .iwcheck')
.css('display', 'inline')
.find('.insert')
.html((0<first.length ? first + combiner : '') + last);
}
}
});
}
});
})();