/*
Скрипт делает так, чтобы внешние ссылки на страницах Википедии
открывались в новом окне по умолчанию. Можно изменить поведение,
записав перед вызовом установки скрипта
LinkReTarget={ignore:new RegExp('какое-то другое регулярное выражение')};
Также можно открывать в новом окне ссылки на интервики и некоторые внутренние ссылки:
LinkReTarget={
iw:1, // для интервики, эквивалентно изменению ignore и добавлением 'p-lang' в divs
divs:['p-participation','p-tb','p-coll-print_export'],
//id блоков боковой панели, можно посмотреть в браузере по опции "Исходный код страницы"
always:new RegExp('^(?:(?:(?:https?://)?(?:www\.)?ru\.wikipedia\.org)?/)?(?:wiki/|w/index\.php\?title=)(?:%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F|Служебная|Special):')
//пример РВ для того, чтобы открывались ссылки на служебные страницы
};
Для установки скрипта скопируйте в код Special:MyPage/common.js (или JS темы) строку
importScript('User:Ignatus/LinkReTarget.js');
Посли установки обновите кэш браузера (см. ВП:Кэш).
Замечание: когда-нибудь браузеры, возможно, будут поддерживать CSS 3,
с которым это делается проще установкой CSS-свойства target для нужных классов ссылок.
*/
LinkReTarget=window.LinkReTarget || new Object;
if ( !LinkReTarget.ignore ){LinkReTarget.ignore = new RegExp(
'^(?:https?://)?(?:' + (LinkReTarget.iw ? 'ru' : '[\w.]*') +
'\.(?:wiki(?:pedia|media)\.org|mediawiki\.org))?[?/:]'
,'i')}
LinkReTarget.f=function(){
var zone = document.getElementById('wikiPreview') || document.getElementById('bodyContent')
|| document.getElementById('mw_contentholder') || document.getElementById('article');
var F=function(z){if (!z) return;
var A_s=z.getElementsByTagName('A');
for(var A=0; A<A_s.length; A++){
if( ! LinkReTarget.ignore.test(A_s[A].href)
|| LinkReTarget.always && LinkReTarget.always.test(A_s[A].href)
){
A_s[A].target='_blank'
}
}};//var F
F(zone);
with(LinkReTarget){
if(divs){
for(var A=0; A<divs.length;A++){
F(document.getElementById(divs[A]))
}
}
if(iw){ F(document.getElementById('p-lang')) }
}//with(LinkReTarget)
};//LinkReTarget.f
if ( mw.config.get('wgNamespaceNumber') >= 0 && mw.config.get('wgUserName') ) jQuery( LinkReTarget.f );