MediaWiki:Common.js: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
Artemchik (обсуждение | вклад) (код для кнопки "Вверх") |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
// Загрузка скрипта для подсвечиваемых ссылок (например тут: https://massmeta.ru/w/index.php/Starter_guide#Управление) | |||
mw.loader.load('//he.wikipedia.org/w/index.php?title=Mediawiki:Scripts/Imagemap-Highlight.js&action=raw&ctype=text/javascript'); | mw.loader.load('//he.wikipedia.org/w/index.php?title=Mediawiki:Scripts/Imagemap-Highlight.js&action=raw&ctype=text/javascript'); | ||
// from: 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( 'Очистить кэш' ) | |||
) | |||
) | |||
); | |||
} | |||
// Если кнопка «Ещё» у нас скрыта, отображаем её, но не на спецстраницах. | |||
if ($( '#p-cactions' ).hasClass( 'emptyPortlet' ) & !$( '#p-views' ).hasClass( 'emptyPortlet' )){ | |||
$( '#p-cactions' ).removeClass( 'emptyPortlet' ) | |||
} | |||
// Меняем обычную ссылку очистки кэша на 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(); | |||
} ); | |||
} ); | |||
// from Minecraft Wiki | |||
// Добавляет кнопку «Вверх» слева | |||
function scrollTop(){ | |||
$(window).scroll(function(e) { | |||
if($(window).scrollTop()>0) { | |||
$("#scroll-top").fadeIn(300); | |||
} else{ | |||
$("#scroll-top").fadeOut(300); | |||
} | |||
}); | |||
} | |||
$(function(){ | |||
$("footer#footer").append($("<span></span>") | |||
.attr({ | |||
"id": "scroll-top", | |||
"title": "Наверх" | |||
}) | |||
); | |||
$("#scroll-top").click(function(e) { | |||
$('body,html').animate({scrollTop:0},300); | |||
}); | |||
scrollTop(); | |||
}); |
Текущая версия от 01:30, 18 июня 2024
// Загрузка скрипта для подсвечиваемых ссылок (например тут: https://massmeta.ru/w/index.php/Starter_guide#Управление)
mw.loader.load('//he.wikipedia.org/w/index.php?title=Mediawiki:Scripts/Imagemap-Highlight.js&action=raw&ctype=text/javascript');
// from: 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( 'Очистить кэш' )
)
)
);
}
// Если кнопка «Ещё» у нас скрыта, отображаем её, но не на спецстраницах.
if ($( '#p-cactions' ).hasClass( 'emptyPortlet' ) & !$( '#p-views' ).hasClass( 'emptyPortlet' )){
$( '#p-cactions' ).removeClass( 'emptyPortlet' )
}
// Меняем обычную ссылку очистки кэша на 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();
} );
} );
// from Minecraft Wiki
// Добавляет кнопку «Вверх» слева
function scrollTop(){
$(window).scroll(function(e) {
if($(window).scrollTop()>0) {
$("#scroll-top").fadeIn(300);
} else{
$("#scroll-top").fadeOut(300);
}
});
}
$(function(){
$("footer#footer").append($("<span></span>")
.attr({
"id": "scroll-top",
"title": "Наверх"
})
);
$("#scroll-top").click(function(e) {
$('body,html').animate({scrollTop:0},300);
});
scrollTop();
});