Википедия:Персональные скрипты

↱
  • ВП:ПСК

Персональный скрипт — страница с расширением имени .js в личном пространстве участника Википедии (обычно автора скрипта), содержащая код на языке Javascript. Другие зарегистрированные участники могут применять скрипт, записав строку его подключения[1] на страницу common.js своего личного пространства участника.

На этой странице перечислены написанные участниками или перенесённые из других разделов скрипты, не имеющие статуса гаджетов (то есть не подключаемые через настройки).

Существует два способа добавления персональных скриптов — функции importScript и mw.loader.load.

  • Для подключения с помощью первого способа добавьте в ваш личный common.js строку importScript('название страницы скрипта');, для скриптов из других разделов — importScript('название страницы скрипта', 'языковой код раздела');. Данный способ не работает в мобильной версии.
  • Второй же способ универсален, для его использования необходимо добавить строку вида mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript');.

Некоторые скрипты могут работать в разных проектах фонда Викимедиа, и их можно подключать через global.js на Мета-вики при помощи второго способа.

Разработчики скриптов могут найти вспомогательную информацию на соответствующей странице проекта «Технические работы».

СкриптыПравить

Скрипты перечислены в хронологическом порядке. Когда скрипт претерпевает существенные обновления, пожалуйста, перемещайте его в конец списка.


Другие кодыПравить

  •  
    var media_query = window.matchMedia("screen and (min-width:1280px)");
    if (media_query.matches) {
    	тут вызов отключаемых скриптов
    }
    
    Отключает перечисленные внутри скрипты для устройств с шириной экрана меньше заданной. Может использоваться для отключения выполнения скриптов на телефонах и прочих маломощных устройствах, которые слишком долго обрабатывают все скрипты.
  •  
    if (typeof window.orientation == 'undefined') {
    	тут вызов отключаемых скриптов
    }
    
    Отключает перечисленные внутри скрипты для мобильных телефонов и таблетов.
  •  
    if ($('body').hasClass('ns-special') && location.href.match(/(\/block|type\=block)/)) {
    	$(function () {
    		$('.ns-special a[title="Участник:QBA-bot"]').parent().hide();
    	});
    }
    
    Удаляет из лога блокировок перечисленных ботов-проксиблокировщиков.
  • Дополнительные кнопки быстрой вставки описания правки.
  • Википедия:Визуальный редактор#Сокращение названия «Править исходный текст»
  •  
    // Дополнительный редактор TemplateData [[:en:User:NicoV/TemplateDataEditor]] не совсем актуальный, но функций больше, чем в стандартном редакторе
    // На страницах шаблонов в редактировании на панель инструментов добавляется кнопка [TDE]
    // Для начала работы теги <templatedata></templatedata> должны быть уже размещены в тексте
    mw.loader.load('//fr.wikipedia.org/w/index.php?title=User:Ltrlg/scripts/TemplateDataEditor.js&action=raw&ctype=text/javascript');
    
  •  
    // Формирование TemplateData
    // На страницах шаблонов слева, в инструментах появляется строка TD Skeleton
    mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Salix alba/TDSkell.js&action=raw&ctype=text/javascript');
    
  • Добавление дополнительных кнопок в самое верхнее меню:
    $(function () {
    	$( '#расположение' ).before( '<li><a href="URL ссылки">Текст ссылки</li>' );
    });
    
Замените расположение на значение из списка ниже (сохранив знак #). Кнопка будет расположена перед:
  1. pt-userpage — ЛС
  2. pt-mytalk — ЛСО
  3. pt-sandbox — Черновик
  4. pt-preferences — Настройки
  5. pt-watchlist — СН
  6. pt-mycontris — Вклад
Или используйте встроенную в MediaWiki функцию mw.util.addPortletLink.
  • Чтобы изменить подстраницу, на которую ведёт ссылка «Черновик», а также при желании текст ссылки и всплывающую подсказку, добавьте в свой личный common.js следующий код, заменив желаемое название подстраницы, текст ссылки и всплывающей подсказки соответственно:
    var draftSubpageName = 'Черновик';  // название подстраницы
    var draftLinkCaption = 'Черновик';  // текст ссылки
    var draftLinkTooltip = 'Ваш черновик';  // текст всплывающей подсказки
    mw.loader.using('mediawiki.util', function () {
    	var url = mw.util.getUrl('Участник:' + mw.config.get('wgUserName') + '/' + draftSubpageName, { redirect: 'no' });
    	$('#pt-sandbox a').attr('href', url).removeClass('new').text(draftLinkCaption).attr('title', draftLinkTooltip);
    });
    
  • Настройка количества навигационнных шаблонов, развёрнутых по умолчанию (если у них не задано значение |state=collapsed): var NavigationBarShowDefault = желаемое_значение; (переопределяет значение из MediaWiki:Common.js).
  • Чтобы изменить подпись, добавляемую кнопкой в панели инструментов вики-редактора, используйте mw.config.set('mw.msg.wikieditor', '~~\~~'); с нужной вам подписью.
  • Подтверждение выхода:
    mw.loader.using('jquery.confirmable', function () {
    	$('#pt-logout > a').confirmable(); 
    });
    

См. такжеПравить

СтароеПравить

ПримечанияПравить

  1. Если вы импортируете скрипт с другой страницы с помощью importScript или копируете чужой, обратите внимание, что скрипт может содержать вредоносный код.