MediaWiki:Gadget-LiveClock.js: различия между версиями
Перейти к навигации
Перейти к поиску
Buto (обсуждение | вклад) Новая страница: «mw.loader.using(['mediawiki.util']).then(function () { // Формируем ссылку на очистку кэша текущей страницы var purgeUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'purge' }); // Добавляем элемент в верхнее личное меню (p-personal) var clockNode = mw.util.addPortletLink( 'p-personal', purgeUrl, '', // Текст пустой,...» |
Buto (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
mw.loader.using(['mediawiki.util']).then(function () { | mw.loader.using(['mediawiki.util']).then(function () { | ||
// | // Обертка jQuery для ожидания полной загрузки HTML-каркаса страницы | ||
$(function () { | |||
if (mw.config.get('wgUserName') === null) return; | |||
var purgeUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'purge' }); | |||
// Добавляем элемент | |||
var clockNode = mw.util.addPortletLink( | |||
'p-personal', | |||
purgeUrl, | |||
'00:00:00', // Временный текст, чтобы элемент сразу имел ширину | |||
'pt-liveclock', | |||
'Очистить кэш текущей страницы', | |||
'', | |||
'#pt-userpage' | |||
); | |||
// ДИАГНОСТИКА: Если движок не нашел, куда вставлять часы | |||
if (!clockNode) { | |||
console.error('Гаджет Живые часы: Ошибка. Не найдено верхнее меню "p-personal" в текущей теме оформления.'); | |||
return; | |||
} | |||
var | |||
link. | var link = clockNode.querySelector('a') || clockNode; | ||
link.style.fontWeight = 'bold'; | |||
function updateTime() { | |||
var d = new Date(); | |||
var h = String(d.getHours()).padStart(2, '0'); | |||
var m = String(d.getMinutes()).padStart(2, '0'); | |||
var s = String(d.getSeconds()).padStart(2, '0'); | |||
link.textContent = h + ':' + m + ':' + s; | |||
} | |||
updateTime(); | |||
setInterval(updateTime, 1000); | |||
}); | |||
}); | }); | ||
Версия от 16:02, 14 октября 2026
mw.loader.using(['mediawiki.util']).then(function () {
// Обертка jQuery для ожидания полной загрузки HTML-каркаса страницы
$(function () {
if (mw.config.get('wgUserName') === null) return;
var purgeUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'purge' });
// Добавляем элемент
var clockNode = mw.util.addPortletLink(
'p-personal',
purgeUrl,
'00:00:00', // Временный текст, чтобы элемент сразу имел ширину
'pt-liveclock',
'Очистить кэш текущей страницы',
'',
'#pt-userpage'
);
// ДИАГНОСТИКА: Если движок не нашел, куда вставлять часы
if (!clockNode) {
console.error('Гаджет Живые часы: Ошибка. Не найдено верхнее меню "p-personal" в текущей теме оформления.');
return;
}
var link = clockNode.querySelector('a') || clockNode;
link.style.fontWeight = 'bold';
function updateTime() {
var d = new Date();
var h = String(d.getHours()).padStart(2, '0');
var m = String(d.getMinutes()).padStart(2, '0');
var s = String(d.getSeconds()).padStart(2, '0');
link.textContent = h + ':' + m + ':' + s;
}
updateTime();
setInterval(updateTime, 1000);
});
});