Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

MediaWiki:Common.js

Страница интерфейса MediaWiki

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

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
/**
 * Этот скрипт автоматически разворачивает сворачиваемый блок (.collapsible-block),
 * если пользователь переходит на страницу по ссылке с якорем (#).
 * Версия 2.1 - Добавлено декодирование кириллических и других символов в якоре.
 */
mw.hook('wikipage.content').add(function($content) {
    // Получаем якорь из URL (например, "%D0%A3%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C_5")
    var hash = window.location.hash.substring(1);
    if (!hash) {
        return; // Выходим, если якоря нет
    }

    // --- КЛЮЧЕВОЕ ИЗМЕНЕНИЕ ---
    // Декодируем якорь, чтобы превратить "%D0%A3..." обратно в "Уровень_5"
    var decodedHash = decodeURIComponent(hash);
    
    // Находим на странице элемент с РАСШИФРОВАННЫМ ID
    var $targetAnchor = $content.find('#' + $.escapeSelector(decodedHash));
    if (!$targetAnchor.length) {
        return; // Выходим, если якорь не найден
    }

    // Находим блок для раскрытия.
    // Логика: ищем родителя нашего якоря (.visually-hidden)
    // и берём СЛЕДУЮЩИЙ за ним элемент .collapsible-block.
    var $collapsibleBlock = $targetAnchor.closest('.visually-hidden').next('.collapsible-block');

    if ($collapsibleBlock.length) {
        // Находим внутри него сам сворачиваемый контент
        var $collapsibleContent = $collapsibleBlock.find('.mw-collapsible');
        
        // Прямым образом удаляем класс, который его скрывает.
        if ($collapsibleContent.hasClass('mw-collapsed')) {
            $collapsibleContent.removeClass('mw-collapsed');
            
            // Также обновляем атрибут доступности для скринридеров
            $collapsibleContent.attr('aria-expanded', 'true');
        }
    }
});