Help:Extension:GlobalCssJs/ru
Расширение GlobalCssJs позволяет пользователям создавать страницу JavaScript и страницу CSS для загрузки в каждую wiki farm. Если вы перейдете на страницу Настройки > Внешний вид
в любой вики, где включено расширение, вы найдете ссылки на ваши глобальные скрипты и таблицы стилей:
В вики-проектах Викимедиа эти глобальные настройки размещаются на Мета-Вики.
Глобальные скрипты (JavaScript)
Переменные
При добавлении скриптов в ваш global.js , имейте в виду, что, как и в случае с gadgets, переменные, объявленные с помощью "var example
", не привязаны к объекту window
: это локальные переменные, область действия которых представляет собой функцию-оболочку, вставленную ResourceLoader для реализации глобальный модуль (который называется "ext.globalcssjs.user
"). Поэтому, если вы планируете переместить локальный скрипт в глобальный модуль, и ему необходимо определить глобальные переменные, убедитесь, что вы используете синтаксис "window.example
" для их объявления.
Пример
/* Любой JavaScript, добавленный на эту страницу, будет загружаться на всех вики, где у вас есть учётная запись (см.[[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
window.myConfig = true;
// [[wikipedia:User:Lupin/popups]]
window.popupAdminLinks = true;
mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript' );
Конкретные URL-адреса
Вам нужно будет указать полный URL-адрес для загрузки скрипта.
Пример
/* Любой JavaScript, добавленный на эту страницу, будет загружаться на всех вики, где у вас есть учётная запись (см.[[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript' );
Настройка для вики-страницы
Пример
/* Любой JavaScript, добавленный на эту страницу, будет загружаться на всех вики, где у вас есть учётная запись (см.[[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
// Define a few functions
function onMultiLingualWikis(){
// ...
}
function onWikibooks(){
// ...
}
function onFrench(){
// ...
}
function onRuWikisource(){
// ...
}
function onEveryWiki(){
mw.loader.load( '//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&action=raw&ctype=text/javascript' );
}
onEveryWiki();
if ( /^(mediawiki|wikidata|meta|commons)wiki$/.test( mw.config.get( 'wgDBname' ) ) ) {
onMultiLingualWikis();
} else if ( /wikibooks$/.test( mw.config.get( 'wgDBname' ) ) ) {
onWikibooks();
} else if ( mw.config.get( 'wgContentLanguage' ) === 'fr' ) {
onFrench();
} else if ( mw.config.get( 'wgDBname' ) === 'ruwikisource' ) {
onRuWikisource();
}
Исключить вики источники
Если вы хотите исключить конкретную вики-страницу, например, английский вики источник, вы можете обернуть всю или часть вашего global.js с:
if ( mw.config.get("wgDBname") !== "enwikisource" ) {
// Любой JavaScript, который вы хотите запустить на всех вики, кроме en wikisource, находится здесь
}
Пример: Установка глобального языка интерфейса
/* Change language to German */
mw.loader.using( 'mediawiki.user', function() {
if ( mw.user.options.get( 'language' ) !== 'de' ) {
( new mw.Api() ).postWithToken( 'csrf', {
action: 'options',
change: 'language=de'
} ).then( function() {
mw.notify( 'Language has been changed to German. Please refresh the page.' );
} );
} else {
console.log( 'Language already set to German!' );
}
} );
Глобальные таблицы стилей (CSS)
Примечание: Любые строка @import ...
должны быть вверху.
Пример
/* Любой CSS, добавленный на эту страницу, будет загружаться во всех вики, где у вас есть учётная запись (см. [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
/* Hide a few elements of the interface */
#n-help,
#footer {
display: none !important;
}
Настройка для каждого оформления
В настоящее время расширение не предоставляет глобальный CSS/JS для конкретных оформлений, но можно настроить CSS и JS для оформления глобально. Для CSS вы можете редактировать внешний вид определенного оформления, используя такие классы, как "$2" и "$3", которые автоматически добавляются к элементу body с помощью MediaWiki.
For CSS, you can edit the appearance of a specific skin by using classes such as "skin-vector" and "skin-monobook", which are added to the body element automatically by MediaWiki.
Вы можете использовать селектор :not()
, чтобы пропустить только одно оформление, например :not(.skin-minerva)
, чтобы не применять правило к мобильному оформлению.
Пример (CSS)
/* Любой CSS, добавленный на эту страницу, будет загружаться во всех вики, где у вас есть учётная запись (см. [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
/* Hide a few elements of the interface on vector skin */
.skin-vector #n-help,
.skin-vector #footer {
display: none !important;
}
/* Bold the sidebar interwiki links to en.wikipedia.org, simple.wikipedia.org, and interproject links to Commons/Wikivoyage */
.interwiki-en, .interwiki-simple, .wb-otherproject-commons, .wb-otherproject-wikivoyage {
font-weight: bold;
}
Пример (JS)
/* Любой JavaScript, добавленный на эту страницу, будет загружаться на всех вики, где у вас есть учётная запись (см.[[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|документацию]]). */
// Load JWB globally when using the Vector skin
if ( mw.config.get( 'skin' ) === 'vector' ) {
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');
}