MediaWiki:Common.js

Материал из Мракопедии
Перейти к: навигация, поиск

Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • 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), а затем Безопасность → Очистить историю посещений → Кэшированные изображения и файлы
/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */

var scripts = [
//  'MediaWiki:Modules/es-shim.js',
//  'MediaWiki:Modules/elliptic.js',
//  'MediaWiki:Modules/jquery.appear.js',
//  'MediaWiki:Modules/insq.js',
  
  //
  'MediaWiki:Modules/toolbar.js',
//  'MediaWiki:Modules/random-logo.js',
//  'MediaWiki:Modules/night-mode.js',
  'MediaWiki:Modules/signed-embed.js',
]

function repr(x) {
    return JSON.stringify(x);
}

//
function importScript(title) {
    if (window.localStorage && (window.localStorage[title] != null)) {
        console.log('[MW:C] Override effective ' + repr(title) + ' => ' + repr(window.localStorage[title]));
        title = window.localStorage[title];
    }

    var url = '/w/index.php?title=' + encodeURIComponent(title) + '&action=raw&ctype=text/javascript';
    console.log('[MW:C] Loading ' + repr(title) + ' from ' + repr(url));
    mw.loader.load(url);
}

function importForPage(fullPageName, link) {
    if (mw.config.get('wgPageName') === fullPageName)
        importScript(link);
}

function silenceDeprecations() {
    var a = mw.log.warn;
    mw.log.warn = function(b) {
        ("string" != typeof b || -1 === b.indexOf("deprecate")) && a.apply(this, arguments)
    }
}

function getSuppressedImports() {
    if (!window.localStorage) return [];
    var a = localStorage.suppressedImports || "[]";
    try {
        return JSON.parse(a)
    } catch (b) {
        return console.error("Could not parse suppressedImports", b), []
    }
}

function importScripts(a) {
    for (var b = getSuppressedImports(), c = 0; c < a.length; c++) {
        var d = a[c]; - 1 === b.indexOf(d) ? importScript(d) : console.log("Suppressed import " + d)
    }
}

function debugHook() {
    window.localStorage && +localStorage.debugHookEnabled && wrappedEval(localStorage.debugHook)
}

function wrappedEval(__SOURCE__) {
    try {
        return eval(__SOURCE__)
    } catch (e) {
        console.error(e)
    }
}

function waitFor(predicate, cb) {
    function enqueue() {
        setTimeout(check, 100)
    }

    function check() {
        return predicate() ? cb() : enqueue()
    }
    "string" == typeof predicate && (predicate = function(_) {
        return function() {
            return !!eval(_)
        }
    }(predicate)), predicate = function(a) {
        return function() {
            try {
                return a()
            } catch (b) {
                return !1
            }
        }
    }(predicate), check()
}

function finishLoading(a) {
    deps[a] = a
}

window.deps = {};

//
debugHook();
silenceDeprecations();
importScripts(scripts);


importForPage('Мракопедия:Список_категорий', 'MediaWiki:Modules/categories-list-generator.js');