MediaWiki:Common.js
Версия от 13:05, 1 ноября 2026; Ivgon (обсуждение | вклад)
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Выберите очистку кэша в меню Инструменты → Настройки
function injectWikificatorLink() {
// Проверяем, нет ли кнопки уже
if ( $( '#wikif-custom-btn-final' ).length ) return;
var $target = $( '.editButtons' );
if ( $target.length ) {
// Создаем полноценный элемент кнопки вместо ссылки
var $button = $( '<button>' )
.attr( {
'id': 'wikif-custom-btn-final',
'type': 'button', // Важно: предотвращает отправку формы
'style': 'font-weight: bold; color: #252525; background: #f8f9fa; border: 1px solid #a2a9b1; padding: 3px 8px; margin-right: 8px; border-radius: 2px; cursor: pointer; display: inline-block; margin-top: 5px; vertical-align: middle;'
} )
.text( 'Викификатор' );
// Обработка клика
$button.on( 'click', function ( e ) {
e.preventDefault(); // Жестко блокируем перезагрузку страницы
e.stopPropagation(); // Блокируем всплытие события к другим скриптам движка
if ( typeof Wikify === 'function' ) {
Wikify();
} else {
// Подгружаем основной скрипт напрямую через jQuery API
$.getScript( '/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' )
.done( function () {
if ( typeof Wikify === 'function' ) {
Wikify();
} else {
alert( 'Функция Wikify не найдена внутри MediaWiki:Wikificator.js' );
}
} )
.fail( function() {
alert( 'Не удалось загрузить файл MediaWiki:Wikificator.js' );
} );
}
} );
// Добавляем кнопку к остальным элементам управления
$target.append( $button );
}
}
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
$( document ).ready( injectWikificatorLink );
}