مدیاویکی:Gadget-InterwikiOrder.js
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر/ Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: Ctrl-F5 را بفشارید.
// turn of other adaptations
mediaWiki.config.set(mw.config.get('wgLanglinks'), 'no-sort no-reorder');
var interwikiOrder = new Array();
function containsInterwiki(kids, interWikiID) {
for (var i = 0; i < kids.length; i++) {
if ( kids[i].className.indexOf('interwiki-' + interWikiID) != -1 )
return i;
}
return -1;
}
function fixInterwikiOrder() {
var kids = document.getElementById('p-lang').getElementsByTagName('LI');
// the Norwegian string says "end"
var removeAllOthers = (interwikiOrder[interwikiOrder.length - 1] == 'slutt') ? 2 : 1;
for (var i = interwikiOrder.length - removeAllOthers; i > -1; i--) {
var interWikiIndex = containsInterwiki(kids, interwikiOrder[i]);
if (interWikiIndex != -1) {
var father = document.getElementById('p-lang').getElementsByTagName('UL')[0];
father.insertBefore(kids[interWikiIndex], father.firstChild);
}
}
if (removeAllOthers == 2)
while (kids.length != interwikiOrder.length - 1)
father.removeChild(father.lastChild);
}
function initInterwikiOrder() {
if (!document.getElementById('p-lang')) return;
if(typeof sajax_init_object === 'undefined') return;
var a = sajax_init_object();
// the Norwegian strings are "User:" (namespace) and "iw" (sub-page name)
a.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=User:' + encodeURIComponent(mw.config.get('wgUserName')) + '/iw&action=raw', true);
a.onreadystatechange = function() {
if (a.readyState != 4) return;
var lines = a.responseText.split('\n');
var rx = new RegExp('\\*\\s?([^$]*)');
for (var i = 0; i < lines.length; i++) {
var m = rx.exec(lines[i]);
if (m)
interwikiOrder.push(m[1]);
else
break;
}
if (interwikiOrder[0]) fixInterwikiOrder();
}
a.send(null);
}
$(document).ready(initInterwikiOrder);