MediaWiki:Common.js:修订间差异
外观
无编辑摘要 |
无编辑摘要 |
||
| 第5行: | 第5行: | ||
if (!container) return; | if (!container) return; | ||
// | // 用 API 获取全站页面总数 | ||
var total = mw. | var total = 0; | ||
$.ajax({ | |||
url: mw.util.wikiScript('api'), | |||
data: { | |||
action: 'query', | |||
meta: 'siteinfo', | |||
siprop: 'statistics', | |||
format: 'json' | |||
}, | |||
dataType: 'json', | |||
async: false, | |||
success: function(data) { | |||
if (data.query && data.query.statistics && data.query.statistics.pages) { | |||
total = data.query.statistics.pages; | |||
} | |||
} | |||
}); | |||
// 如果 API 也失败,fallback 到 0 | |||
if (!total) total = 0; | |||
var digits = String(total).padStart(PAD, '0').split(''); | var digits = String(total).padStart(PAD, '0').split(''); | ||
| 第18行: | 第37行: | ||
var imgH = Math.round(imgW * 1.25); | var imgH = Math.round(imgW * 1.25); | ||
var imageUrls = { | var imageUrls = { | ||
'0': 'https://wiki.meltfi.top/images/d/df/0.gif', | '0': 'https://wiki.meltfi.top/images/d/df/0.gif', | ||
2026年7月13日 (一) 22:21的最新版本
$(function() {
var PAD = 6;
var container = document.getElementById('neko-page-counter');
if (!container) return;
// 用 API 获取全站页面总数
var total = 0;
$.ajax({
url: mw.util.wikiScript('api'),
data: {
action: 'query',
meta: 'siteinfo',
siprop: 'statistics',
format: 'json'
},
dataType: 'json',
async: false,
success: function(data) {
if (data.query && data.query.statistics && data.query.statistics.pages) {
total = data.query.statistics.pages;
}
}
});
// 如果 API 也失败,fallback 到 0
if (!total) total = 0;
var digits = String(total).padStart(PAD, '0').split('');
container.innerHTML = '';
container.style.cssText = 'display:flex;align-items:flex-end;justify-content:center;gap:0;padding:10px;background:#0f0f1a;border-radius:8px;border:1px solid #2a2a40;min-height:100px;';
var parentW = container.parentElement ? container.parentElement.clientWidth : 600;
var imgW = Math.max(28, Math.min(100, Math.floor((parentW - 20) / PAD)));
var imgH = Math.round(imgW * 1.25);
var imageUrls = {
'0': 'https://wiki.meltfi.top/images/d/df/0.gif',
'1': 'https://wiki.meltfi.top/images/b/b5/1.gif',
'2': 'https://wiki.meltfi.top/images/2/27/2.gif',
'3': 'https://wiki.meltfi.top/images/0/06/3.gif',
'4': 'https://wiki.meltfi.top/images/8/8f/4.gif',
'5': 'https://wiki.meltfi.top/images/6/6a/5.gif',
'6': 'https://wiki.meltfi.top/images/b/bd/6.gif',
'7': 'https://wiki.meltfi.top/images/e/e7/7.gif',
'8': 'https://wiki.meltfi.top/images/4/40/8.gif',
'9': 'https://wiki.meltfi.top/images/3/30/9.gif',
};
digits.forEach(function(d) {
var img = document.createElement('img');
img.src = imageUrls[d];
img.alt = d;
img.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;object-fit:contain;image-rendering:pixelated;display:block;';
img.onerror = function() {
var fb = document.createElement('div');
fb.textContent = d;
fb.style.cssText = 'width:' + imgW + 'px;height:' + imgH + 'px;display:flex;align-items:center;justify-content:center;background:#333;color:#ff9ecd;font-size:' + Math.max(12, Math.floor(imgW * 0.4)) + 'px;font-weight:bold;font-family:monospace;border-radius:3px;';
if (img.parentNode) img.parentNode.replaceChild(fb, img);
};
container.appendChild(img);
});
});