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

Материал из SS220 Sierra (Space Station 13)
Перейти к навигации Перейти к поиску
(Новая страница: «→‎Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице: // Добавляет ссылку для редактирования нулевого раздела (введения; преамбулы) var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' ); var wgPageName = mw.config.get( 'wgPageName' ); if (wgNamespaceNum...»)
 
Нет описания правки
Строка 20: Строка 20:
         mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' );  
         mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' );  
     }
     }
// Честно стащено с бывшей официальной Minecraft Wiki
// Добавляет кнопку для очистки кэша
if ( !$( '#ca-purge' ).length ) {
    $( '#p-cactions' ).find( 'ul' ).append(
        $( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append(
            $( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append(
                $( '<span>' ).text( 'Очистить кэш' )
            )
        )
    );
}
// Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения
mw.loader.using( 'mediawiki.api' ).then( function() {
    $( '#ca-purge a' ).on( 'click', function( e ) {
        new mw.Api().post( {
            action: 'purge',
            titles: mw.config.get( 'wgPageName' )
        } ).then( function() {
            location.reload();
        }, function() {
            mw.notify( 'Purge failed', { type: 'error' } );
        } );
       
        e.preventDefault();
    } );
} );

Версия от 15:10, 13 декабря 2022

/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */

// Добавляет ссылку для редактирования нулевого раздела (введения; преамбулы)
    var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' );
    var wgPageName = mw.config.get( 'wgPageName' );

    if (wgNamespaceNumber > -1){ 
        var edittopHTML = '<span class="mw-editsection">' +
        '<span class="mw-editsection-bracket" style="margin-right: 0.25em;color: #555555;">[</span>' +
        '<a href="/index.php?title=' + wgPageName + '&amp;action=edit&amp;section=0" title="Править «введение» этой страницы">править введение</a>' +
        '<span class="mw-editsection-bracket" style="margin-left: 0.25em;color: #555555;">]</span>' +
        '</span>';
        $('#firstHeading').append(edittopHTML);
    }

// Только при редактировании, вне режима визуального редактора
    if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) {

        // Устаревшая, но всё ещё действующая панель редактирования исходного кода
        mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' ); 
    }

// Честно стащено с бывшей официальной Minecraft Wiki
// Добавляет кнопку для очистки кэша
if ( !$( '#ca-purge' ).length ) {
    $( '#p-cactions' ).find( 'ul' ).append(
        $( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append(
            $( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append(
                $( '<span>' ).text( 'Очистить кэш' )
            )
        )
    );
}
// Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения
mw.loader.using( 'mediawiki.api' ).then( function() {
    $( '#ca-purge a' ).on( 'click', function( e ) {
        new mw.Api().post( {
            action: 'purge',
            titles: mw.config.get( 'wgPageName' )
        } ).then( function() {
            location.reload();
        }, function() {
            mw.notify( 'Purge failed', { type: 'error' } );
        } );
        
        e.preventDefault();
    } );
} );