MediaWiki:Common.js
Материал из Anekdot.me
Перейти к навигацииПерейти к поискуЗамечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Перейдите в Menu → Настройки (Opera → Настройки на Mac), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
/* Google Analytics 4 */
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-4G6VDYXS0M');
$('head').append($('<script/>').attr('async', 1).attr('src', 'https://www.googletagmanager.com/gtag/js?id=G-4G6VDYXS0M'));
/* /Google Analytics 4 */
$.ajax({ /* http://absurdopedia.net/wiki/MediaWiki:Gadget-friends.js */
url: '//absurdopedia.net/w/load.php?debug=false&lang=ru&modules=ext.gadget.friends&skin=monobook',
dataType: 'script',
cache: true
});
/** Morph LM Edition *************************************
*
* Description: слайдер скрытого контента
* Stolen^W Made by: hikki-zadrot, Tachikoma, Anotubus
* Стырено из Лукоморья (http://lurkmore.to/?oldid=1236836)
*/
function createMorphObjects() {
var morphTargets = new Array(), morphLinks = new Array(), currentMorph = new Array();
function morphHandler(cont, num) {
return function() {
currentMorph[cont].curr = num;
var t = morphTargets[cont];
var l = morphLinks[cont];
for(i in t) if(currentMorph[cont].ms != null) t[i].style.display = t[i].className.match(l[num].className.replace(/.*morphlink\s+morph(\S+).*/, '$1'))? "" : "none"; else t[i].style.display = i==num ? "" : "none";
var h = currentMorph[cont].hilight, d = currentMorph[cont].defstyle;
for(i in l) l[i].setAttribute('style', (i!=num)?d:h);
};
};
function morphNext(cont) {
return function() {
var t = currentMorph[cont];
morphHandler(cont, t.curr<(t.max-1)?t.curr+1:0)();
}
}
function morphPrev(cont) {
return function() {
var t = currentMorph[cont];
morphHandler(cont, t.curr>0?t.curr-1:t.max-1)();
}
}
var morphContainers = document.querySelectorAll(".morphcontainer");
for(var i = 0; i<morphContainers.length; i++) {
var this_ = morphContainers[i];
morphTargets[i] = {};
morphLinks[i] = {};
var isHover = this_.className.match(/\bhover\b/);
var isManualsort = this_.className.match(/\bmanualsort\b/);
var morphCs = this_.querySelectorAll(".morphcontent");
var morphLs = this_.querySelectorAll(".morphlink");
var h = this_.querySelector(".morphlink_hilight");
h = h ? h.getAttribute('style') : "color:blue; text-decoration:underline; cursor: pointer;";
var def = this_.querySelector(".morphlink_default");
def = def ? def.getAttribute('style') : "color:blue; cursor: pointer;";
currentMorph[i] = {max: morphLs.length, curr: 0, hilight: h, defstyle: def, ms: isManualsort};
for(var m = 0; m<morphLs.length; m++) {
morphLinks[i][m] = morphLs[m];
$(morphLs[m]).on(isHover?'mouseover':'click',morphHandler(i, m));
morphLs[m].setAttribute('style', m?def:h);
};
for(var m = 0; m<morphCs.length; m++) {
morphTargets[i][m] = morphCs[m];
if (isManualsort != null) morphCs[m].style.display = morphCs[m].className.match(morphLs[0].className.replace(/.*morphlink\s+morph(\S+).*/, '$1'))? "" : "none"; else morphCs[m].style.display = m ? "none" : "";
};
if (this_.querySelector(".morphprev")) $(this_.querySelector(".morphprev")).click(morphPrev(i));
if (this_.querySelector(".morphnext")) $(this_.querySelector(".morphnext")).click(morphNext(i));
}
}
$(createMorphObjects);
/*Добавляем кнопку викификатора*/
mw.hook( 'wikieditor.toolbar.wikificator' ).add(function(){
// Переместить кнопку в начало.
$('.group-format').prepend( $('a[title*="Викификатор"]') )
});
mw.loader.load('https://ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript&oldid=114525856')
/* nologo */
$(function() { if($('#nologo').length) $('#p-logo').hide(); });
/*
* Scrolling to top -- 23 November 2012
* Stolen from http://habrahabr.ru/post/146049/
* Вместе с предшествующими комментариями спёрто из http://ru.wikipedia.org/?oldid=50093825 и слегка изменено
*/
/*
Навигация по стрелочкам
http://forum.php-myadmin.ru/viewtopic.php?id=1811
*/
$(window).on('keydown', function(event){
var arrow = false;
if (event.ctrlKey) {
var tag = event.target.tagName;
// Проверяем где находится курсор. Если в текстовом поле, то перелистывать нельзя,
// чтобы не портить перемещение по тексту, где тоже используется сочетание клавиш Ctrl+стрелочка.
if (tag != 'INPUT' && tag != 'TEXTAREA') {
// Код клавиши 37 - значит нажата стрелочка влево.
if (event.which == 37) {
// Помещаем в переменную id ссылку на тег <a> отвечающий за переход на предыдущую страницу.
arrow = $(".anekdot-js-navheader a:first-child");
}
// Код клавиши 39 - значит нажата стрелочка вправо.
if(event.which == 39) {
// Помещаем в переменную id ссылку на тег <a> отвечающий за переход на следующую страницу.
arrow = $(".anekdot-js-navheader a:last-child");
}
// Проверяем существует ли объект.
if (arrow.length !== 0) {
// Осуществляем переход по ссылке указанной в свойстве href.
// Это и есть цель данной функции, она осуществляет переход.
location.href = arrow.attr('href');
}
}
}
});