Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш 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.0 - Использует прямое изменение класса для большей надёжности.
 */
mw.hook('wikipage.content').add(function($content) {
    // Получаем якорь из URL (например, "Уровень_1"), если он есть
    var hash = window.location.hash.substring(1);
    if (!hash) {
        return; // Выходим, если якоря нет
    }

    // Находим на странице элемент с таким ID (это наш скрытый заголовок)
    var $targetAnchor = $content.find('#' + $.escapeSelector(hash));
    if (!$targetAnchor.length) {
        return; // Выходим, если якорь не найден
    }
console.log($targetAnchor);

    // Находим блок для раскрытия.
    // Логика: ищем родителя нашего якоря (.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');
        }
    }
});