MediaWiki:Common.js — различия между версиями
Ivgon (обсуждение | вклад) |
Ivgon (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | // Функция | + | // Функция добавления текстовой ссылки "Викификатор" под поле редактирования |
| − | function | + | function injectWikificatorLink() { |
| − | + | // Проверяем, нет ли ссылки уже, чтобы избежать дублирования | |
| − | + | if ( $( '#wikif-custom-link' ).length ) return; | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | // Проверяем, | ||
| − | if ( $( '#wikif-custom- | ||
| − | // | + | // Ищем блок быстрой вставки или подпись под формой изменений |
| − | var $ | + | var $target = $( '.mw-editTools' ); |
| − | + | if ( !$target.length ) { | |
| − | + | // Если класс .mw-editTools не найден, берем блок с кнопками "Записать страницу" | |
| − | + | $target = $( '.editButtons' ); | |
| − | + | } | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | if ( $target.length ) { | |
| − | + | // Создаем ссылку | |
| − | + | var $link = $( '<a>' ) | |
| − | + | .attr( { | |
| − | + | 'id': 'wikif-custom-link', | |
| − | + | 'href': '#', | |
| − | + | 'style': 'font-weight: bold; color: #252525; background: #f8f9fa; border: 1px solid #a2a9b1; padding: 2px 6px; margin-right: 8px; border-radius: 2px; text-decoration: none;' | |
| − | + | } ) | |
| − | + | .text( 'Викификатор' ); | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | // Действие при клике | |
| − | + | $link.click( function ( e ) { | |
| + | e.preventDefault(); | ||
| + | if ( typeof Wikify === 'function' ) { | ||
| + | Wikify(); | ||
| + | } else { | ||
| + | // Подгружаем основной скрипт | ||
| + | $.getScript( '/wiki/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' ) | ||
| + | .done( function () { | ||
| + | if ( typeof Wikify === 'function' ) Wikify(); | ||
| + | } ); | ||
| + | } | ||
| + | } ); | ||
| + | |||
| + | // Добавляем в начало блока быстрой вставки | ||
| + | $target.prepend( $link ); | ||
| + | } | ||
} | } | ||
| − | // Запуск | + | // Запуск только при редактировании |
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) { | ||
| − | $( document ).ready( | + | $( document ).ready( injectWikificatorLink ); |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
Версия 12:36, 1 ноября 2026
// Функция добавления текстовой ссылки "Викификатор" под поле редактирования
function injectWikificatorLink() {
// Проверяем, нет ли ссылки уже, чтобы избежать дублирования
if ( $( '#wikif-custom-link' ).length ) return;
// Ищем блок быстрой вставки или подпись под формой изменений
var $target = $( '.mw-editTools' );
if ( !$target.length ) {
// Если класс .mw-editTools не найден, берем блок с кнопками "Записать страницу"
$target = $( '.editButtons' );
}
if ( $target.length ) {
// Создаем ссылку
var $link = $( '<a>' )
.attr( {
'id': 'wikif-custom-link',
'href': '#',
'style': 'font-weight: bold; color: #252525; background: #f8f9fa; border: 1px solid #a2a9b1; padding: 2px 6px; margin-right: 8px; border-radius: 2px; text-decoration: none;'
} )
.text( 'Викификатор' );
// Действие при клике
$link.click( function ( e ) {
e.preventDefault();
if ( typeof Wikify === 'function' ) {
Wikify();
} else {
// Подгружаем основной скрипт
$.getScript( '/wiki/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript' )
.done( function () {
if ( typeof Wikify === 'function' ) Wikify();
} );
}
} );
// Добавляем в начало блока быстрой вставки
$target.prepend( $link );
}
}
// Запуск только при редактировании
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
$( document ).ready( injectWikificatorLink );
}