MediaWiki:Gadget-LiveClock.js

Версия от 15:51, 14 октября 2026; 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, '', // Текст пустой,...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
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,
        '', // Текст пустой, он будет каждую секунду заполняться временем
        'pt-liveclock',
        'Очистить кэш текущей страницы',
        '',
        '#pt-userpage' // Поместить левее ссылки на личную страницу (можно убрать)
    );

    if (!clockNode) 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);
});