مدیاویکی:InterWikiTransclusion.js
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر/ Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: Ctrl-F5 را بفشارید.
var page_ns_prefixes= {
'en':'Page',
'eo':'Paĝo',
'fa':'برگ',
'fr':'Page',
'de':'Seite',
'it':'Pagina',
'la':'Pagina',
'no':'Side',
'es':'Página',
'pt':'Página',
'sv':'Sida',
'pl':'Strona',
'hy':'Էջ',
'ru':'Страница',
'hr':'Stranica',
'hu':'Oldal',
'ca':'Pàgina',
'vi':'Trang',
'sl':'Stran',
'zh':'Page',
'old':'Page',
'vec':'Pagina',
'br':'Pajenn'
}
/* cross-domain transclusions through the API */
function api_url(lang) {
if (lang == "old") {
return '//wikisource.org/w/api.php'
} else {
return '//'+lang+'.wikisource.org/w/api.php';
}
}
function iw_trans_callback(res){
var txt = res.parse.text['*'];
var target = res.requestid;
var spans = jQuery('span.iwtrans');
for (var i = 0; i<spans.length; i++) {
var item = spans[i];
var m = item.title.split("|");
lang=m[0];
if (item.title == target) {
/* transform all href from relative to absolute, so that they still point to the right place */
item.innerHTML = txt.replace(/href="\/wiki/g, 'href="//'+lang+'.wikisource.org/wiki');
}
}
}
function iw_trans() {
var spans = jQuery( 'span.iwtrans' ) ;
for(var i = 0; i<spans.length; i++) {
var item = spans[i];
var m = item.title.split("|");
lang=m[0];
title=m[1];
var url = api_url(lang) + '?format=json&requestid='+item.title+'&action=parse&text={{:'+title+'}}<references/>&callback=iw_trans_callback&title='+title;
mw.loader.load(url);
}
}
jQuery(document).ready(iw_trans);
function iw_pages_callback(res) {
var txt = res.parse.text['*'];
var target = res.requestid;
var spans = jQuery('span');
/* fix for it.wikisource */
txt = txt.replace(/class=\"SAL\"/g, "class=\"hiddenStructure\"")
for(var i = 0; i<spans.length; i++) {
var item = spans[i];
var m = item.title.split("|");
lang=m[0];
if( (item.className == "iwpages" || item.className == "iwpage") && item.title == target ) {
/* transform all href from relative to absolute, so that they still point to the right place */
item.innerHTML = txt.replace(/href="\/wiki/g, 'href="//'+lang+'.wikisource.org/wiki');
}
}
}
function iw_pages() {
/* if(wgCanonicalNamespace != page_ns_prefixes[wgContentLanguage]) return; */
var spans = jQuery( 'span.iwpages' ) ;
for(var i = 0; i<spans.length; i++) {
var item = spans[i];
var m = item.title.split("|");
lang=m[0]; title=m[1]; from=m[2]; to=m[3];
url = api_url(lang) + '?format=json&requestid='+item.title+'&action=parse&callback=iw_pages_callback&text=<pages index="'+title+'" from='+from+' to='+to+' /><references/>&title='+title;
mw.loader.load(url);
}
var count = 0;
var spans = jQuery( 'span.iwpage' ) ;
for(var i = 0; i<spans.length; i++) {
var item = spans[i];
var m = item.title.split("|");
lang = m[0];
count = count + 1;
title = page_ns_prefixes[lang]+":"+m[1];
if(m.length>2) section=m[2]; else section=false;
if(section) section_title='lst\|'+title+'\|'+section; else section_title = title;
url = api_url(lang) + '?format=json&requestid='+item.title+'&action=parse&callback=iw_pages_callback&text={{'+section_title+'}}<references/>&title='+title;
mw.loader.load(url);
}
cs = document.getElementById("corr-info");
if(cs && count) {
if(count==1) {
if (lang=="old") lang=""; else lang=lang+".";
cs.innerHTML = ' ' + ws_msg('iwtrans') + ' <a href="http://'+lang+'wikisource.org/w/index.php?title='+title+'">'+lang+'wikisource.org</a>.';
} else {
cs.innerHTML = ws_msg('iwtrans2');
}
}
}
jQuery(document).ready(iw_pages);