Geavaheaddji:Jeblad/iwcheck.js
Fuomáš: Maŋŋel go almmuhat, soaitá leat dárbbašlaš sihkkut neahttalohkkii gaskaráju vai oainnat rievdadusaid.
- Firefox / Safari: Doala Shift dan botta go deattát Reload, dahje deaddil Ctrl-F5 dahje Ctrl-R (⌘-R Mac'as)
- Google Chrome: Deaddil Ctrl-Shift-R (⌘-Shift-R Mac'as)
- Internet Explorer / Edge: Doala Ctrl dan botta go deattát Álggat ođđasit, dahje deaddil Ctrl-F5
- Opera: deaddil Ctrl-F5.
/* Check if external link targets exists **************************************
*
* Description: Make external iw-links through stylyng and make them blue again if they exists
* Maintainers: [[User:Jeblad]]
*/
(function(mw, $, undefined){
if (!mw.config.get( 'wgIsArticle' )) return;
if (mw.config.get( 'wgNamespaceNumber' ) != 0) return;
if (!/^(view)$/.test(mw.config.get( 'wgAction' ))) return;
var found = 0;
for (var x in mw.config.get('wgCategories')) {
if (mw.config.get('wgCategories')[x] == 'IW-check' && ++found) break;
}
if (!found) return;
var sec = ( mw.config.get( 'wgServer' ) == 'https://secure.wikimedia.org' && !(window.disableSecureLinks===true) );
var api = sec ? 'https://secure.wikimedia.org/wikipedia/%%/w/api.php' : 'http://%%.wikipedia.org/w/api.php';
var languages = { 'nn' : {}, 'no' : {}, 'sv' : {}, 'da' : {} };
var lang = 'se';
var numtitles = 50;
var maxtitles = 500;
var query = {
'action': 'query',
'prop' : 'info',
'format': 'json',
'maxage': 15*60,
'smaxage': 24*60*60
};
$(function(){
var iwcheck = $('.iwcheck').find('a.extiw');
if (!iwcheck || !iwcheck.length) return;
for (var x in languages) {
languages[x].titles = {},
languages[x].found = 0
}
iwcheck.each(function(i, el){
if (el.title) {
var matches = el.title.match(/^(.*?):(.*)$/);
if (matches.length == 3 && languages[matches[1]] != undefined) {
languages[matches[1]].titles[matches[2]] = true;
languages[matches[1]].found++;
}
}
});
var plang = $('#p-lang');
for (var x in languages) {
if (!languages[x].found) continue;
if (x === lang) continue;
var a = [];
for (var y in languages[x].titles)
if (languages[x].titles[y]) a.push(y);
var a = a.slice(0, maxtitles-1);
for (var i = 0; i < a.length; i+=numtitles) {
var titles = a.slice(i, (i+numtitles<a.length ? i+numtitles : a.length-1)).join('|');
$.ajax({
url: api.replace(/%%/, x),
dataType: 'jsonp',
data: jQuery.extend({'titles': titles, requestid: x}, query),
cache: true,
context: document.body,
success: function(data, textStatus){
if (textStatus === null && textStatus != 'success') {
alert('Success, but with "' + textStatus + '"');
return;
}
// this shouldn't happen
if (!languages[data.requestid] && !languages[data.requestid].found) return;
var a = [];
for (var x in data.query.pages) {
if (x<0) continue;
if (languages[data.requestid].titles[data.query.pages[x].title])
a.push('[title="' + data.requestid + ':' + data.query.pages[x].title + '"]');
}
iwcheck.filter(a.join(',')).addClass('exist');
}
});
}
}
});
})(mediaWiki, jQuery);