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

Материал из MassMeta
Перейти к навигации Перейти к поиску
imported>MrStonedOne
(Created page with "→‎Any JavaScript here will be loaded for all users on every page load.: var _paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called befo...")
 
(код для кнопки "Вверх")
 
(не показаны 4 промежуточные версии 3 участников)
Строка 1: Строка 1:
/* Any JavaScript here will be loaded for all users on every page load. */
// Загрузка скрипта для подсвечиваемых ссылок (например тут: https://massmeta.ru/w/index.php/Starter_guide#Управление)
  var _paq = window._paq || [];
mw.loader.load('//he.wikipedia.org/w/index.php?title=Mediawiki:Scripts/Imagemap-Highlight.js&action=raw&ctype=text/javascript');
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
 
  _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
 
  _paq.push(["setCookieDomain", "*.tgstation13.org"]);
// from: Minecraft Wiki
  _paq.push(["setDomains", ["*.tgstation13.org"]]);
// Добавляет кнопку для очистки кэша
  _paq.push(['trackPageView']);
if ( !$( '#ca-purge' ).length ) {
  _paq.push(['enableLinkTracking']);
    $( '#p-cactions' ).find( 'ul' ).append(
  (function() {
        $( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append(
     var u="//tgstation13.org/omo/";
            $( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append(
    _paq.push(['setTrackerUrl', u+'omo']);
                $( '<span>' ).text( 'Очистить кэш' )
    _paq.push(['setSiteId', '1']);
            )
     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
        )
     g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'omo.js'; s.parentNode.insertBefore(g,s);
    );
  })();
}
// Если кнопка «Ещё» у нас скрыта, отображаем её, но не на спецстраницах.
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();
});