مدیاویکی:Gadget-PageInfo.js
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر/ Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: Ctrl-F5 را بفشارید.
window.PageInfo = {};
PageInfo.numbers = ["۰","۱","۲","۳","۴","۵","۶","۷","۸","۹"];
PageInfo.humanFileSize = function(bytes){
if(bytes < 1024) return bytes + ' بایت';
var units = ['کیلوبایت','مگابایت'];
var u = -1;
do {
bytes /= 1024;
++u;
} while(bytes >= 1024);
return bytes.toFixed(1)+' '+units[u];
};
PageInfo.localize_numbers = function(text) {
text = text.toString();
for (var i = 0; i < PageInfo.numbers.length; i++) {
var regexp = new RegExp(i.toString(), 'g');
text = text.replace(regexp, PageInfo.numbers[i]);
}
text = text.replace(/\./gi, "٫");
return text;
};
PageInfo.run = function(){
if(mw.config.get('wgNamespaceNumber') >= 0)
{
var api = new mw.Api();
api.get( {
action: 'query',
prop: 'info',
inprop: 'watchers',
titles: mw.config.get('wgPageName'),
} ).done ( function ( data ) {
if(typeof data.query != "undefined")
{
var tag = $('<span/>');
var info = [];
for(var key in data.query.pages) {
var page = data.query.pages[key];
console.log(page);
if(typeof page.missing != "undefined")
{
info.push('صفحه\u200cای وجود ندارد.');
} else {
info.push('حجم صفحه: ' + PageInfo.localize_numbers(PageInfo.humanFileSize(page.length)));
if(typeof page.watchers != "undefined")
{
info.push('تعداد کاربران پی\u200cگیری کننده: ' + PageInfo.localize_numbers(page.watchers));
}
}
break;
}
tag.text('اطلاعات صفحه: ' + info.join('، '))
tag.insertAfter($('#firstHeading'));
}
} );
}
};
$(PageInfo.run);