Help:Extension:GlobalCssJs
GlobalCssJs 拡張機能は、ウィキ ファームのすべてのウィキで読み込まれる JavaScript ページと CSS ページを作成できるようにします。 拡張機能が有効になっているウィキで 個人設定 > 表示
にアクセスすると、あなたのグローバル スクリプトとスタイルシートへのリンクが表示されます:
ウィキメディアのウィキ群では、これらのグローバルなカスタマイズはメタ・ウィキでホスティングされています。→meta:Global user pages/ja
グローバル スクリプト (JavaScript)
変数
When adding scripts to your global.js, be aware that, as with gadgets, variables declared with "var example
" are not attached to the window
object: they are local variables whose scope is a wrapper function inserted by ResourceLoader to implement the global module (which is called "ext.globalcssjs.user
"). Therefore, if you plan to move a local script to the global module, and it needs to define global variables, make sure you use the syntax "window.example
" to declare them.
例
/* このページに追加された 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
You will need to pass a full URL to load the script.
例
/* このページに追加された 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();
}
ウィキを除外するには
If you want to exclude a specific wiki, e.g. English Wikisource, you can wrap all or part of your global.js with:
if ( mw.config.get("wgDBname") !== "enwikisource" ) {
// Whatever JavaScript you want to run on all wikis but enwikisource, goes here
}
例: グローバルインターフェース言語の設定
/* 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)
Note: Any @import ...
lines must be at the top.
例
/* このページに追加された CSS は、ご自分のアカウントがあるどのウィキにも読み込まれます ([[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|説明文書]]を参照してください)。 */
/* Hide a few elements of the interface */
#n-help,
#footer {
display: none !important;
}
外装ごとのカスタマイズ
Currently the extension does not provide global CSS/JS for specific skins, but it is possible to customize CSS and JS for a skin globally.
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.
You can use the :not()
selector to skip just one skin, e.g. :not(.skin-minerva)
to not apply the rule to the mobile skin.
例 (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');
}