MediaWiki:Common.js

Материал из Музыкально-фольклорный депозитарий
Версия от 12:13, 8 апреля 2026; Krdk (обсуждение | вклад) (Новая страница: «→‎Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице: →‎Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки: mw.hook('wikipage.content').add(function() { // Ищем блок БАННЕРЫ (Timeless генерирует ID 'p-БАННЕРЫ' или 'p-BAN...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/* Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки */
mw.hook('wikipage.content').add(function() {
    // Ищем блок БАННЕРЫ (Timeless генерирует ID 'p-БАННЕРЫ' или 'p-BANNERS')
    // Если блок называется иначе, посмотри его точный ID через F12 (Инспектор кода)
    var $bannerBlock = $('#p-БАННЕРЫ .sidebar-chunk, #p-BANNERS .sidebar-chunk').add('#p-БАННЕРЫ ul, #p-BANNERS ul');

    if ($bannerBlock.length) {
        $bannerBlock.find('li a').each(function() {
            var $link = $(this);
            var linkText = $link.text().trim();

            // Проверяем, оканчивается ли текст ссылки на .svg
            if (linkText.match(/\.svg$/i)) {
                // Строим URL к файлу. 
                // В MediaWiki путь к картинке можно получить через Special:FilePath
                var imgSrc = mw.util.getUrl('Special:FilePath/' + linkText);
                
                // Создаем тег картинки и заменяем им текст внутри ссылки
                var $img = $('<img>', {
                    src: imgSrc,
                    alt: 'Баннер',
                    css: {
                        'max-width': '100%',
                        'height': 'auto',
                        'display': 'block',
                        'margin': '5px auto'
                    }
                });
                $link.empty().append($img);
            }
        });
    }
});