MediaWiki:Gadget-LiveClock.js: различия между версиями

Материал из Тептар
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
console.log("Скрипт LiveClock запущен!");
mw.loader.using(['mediawiki.util']).then(function () {
mw.loader.using(['mediawiki.util']).then(function () {
     // Обертка jQuery для ожидания полной загрузки HTML-каркаса страницы
     console.log("Модуль mediawiki.util успешно загружен");
     $(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'
    );


        var purgeUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'purge' });
    console.log("Результат создания элемента clockNode:", clockNode);
       
        // Добавляем элемент
        var clockNode = mw.util.addPortletLink(
            'p-personal',
            purgeUrl,
            '00:00:00', // Временный текст, чтобы элемент сразу имел ширину
            'pt-liveclock',
            'Очистить кэш текущей страницы',
            '',
            '#pt-userpage'
        );


        // ДИАГНОСТИКА: Если движок не нашел, куда вставлять часы
    if (!clockNode) {
        if (!clockNode) {
        console.error("ОШИБКА: Движок не смог найти меню 'p-personal' для вставки часов. Возможно, у вас используется нестандартная тема оформления.");
            console.error('Гаджет Живые часы: Ошибка. Не найдено верхнее меню "p-personal" в текущей теме оформления.');
        return;
            return;
    }
        }
   
       
    var link = clockNode.querySelector('a') || clockNode;
        var link = clockNode.querySelector('a') || clockNode;
    link.style.fontWeight = 'bold';
        link.style.fontWeight = 'bold';


        function updateTime() {
    function updateTime() {
            var d = new Date();
        var d = new Date();
            var h = String(d.getHours()).padStart(2, '0');
        var h = String(d.getHours()).padStart(2, '0');
            var m = String(d.getMinutes()).padStart(2, '0');
        var m = String(d.getMinutes()).padStart(2, '0');
            var s = String(d.getSeconds()).padStart(2, '0');
        var s = String(d.getSeconds()).padStart(2, '0');
            link.textContent = h + ':' + m + ':' + s;
        link.textContent = h + ':' + m + ':' + s;
        }
    }


        updateTime();
    updateTime();
        setInterval(updateTime, 1000);
    setInterval(updateTime, 1000);
     });
     console.log("Часы успешно запущены!");
});
});

Версия от 16:02, 14 октября 2026

console.log("Скрипт LiveClock запущен!");

mw.loader.using(['mediawiki.util']).then(function () {
    console.log("Модуль mediawiki.util успешно загружен");
    
    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'
    );

    console.log("Результат создания элемента clockNode:", clockNode);

    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);
    console.log("Часы успешно запущены!");
});