Trợ giúp:Tiện ích:GlobalCssJs

This page is a translated version of the page Help:Extension:GlobalCssJs and the translation is 100% complete.

Tiện ích GlobalCssJs cho phép người dùng tạo một trang JavaScript và trang CSS được tải vào mọi wiki trong một trang trại wiki. Nếu bạn đi tới Tùy chọn > Giao diện trên wiki bất kỳ đã kích hoạt tiện ích, bạn sẽ tìm thấy liên kết dẫn đến trang tập lệnh JS và kiểu CSS toàn cục.

CSS/JavaScript chung cho mọi wiki:

Trên các wiki của Wikimedia, thiết đặt tùy chỉnh toàn cục được lưu trữ tại Meta-Wiki.

Tập lệnh người dùng toàn cục (JavaScript)

Biến

Khi thêm tập lệnh vào global.js của bạn, hãy lưu ý rằng, giống như các tiện ích, các biến được khai báo bằng "var example" không được đính kèm với đối tượng window: chúng là các biến cục bộ có phạm vi là một hàm trình bao bọc được ResourceLoader chèn vào để triển khai mô đun toàn cục (được gọi là "ext.globalcssjs.user"). Vì vậy, nếu bạn muốn di chuyển một tâp lệnh cục bộ đến mô đun toàn cục, và nó cần được khai báo biến toàn cục, hãy chắc chắn rằng bạn sử dụng "window.example" để khai báo chúng.

Ví dụ

/* Any JavaScript added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
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 rõ ràng

Bạn cần có một URL rõ ràng để tập lệnh có thể được tải.

Ví dụ

/* Any JavaScript added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript' );


Tùy chỉnh mỗi wiki

Ví dụ

/* Any JavaScript added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
// 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();
}

Thiết đặt ngoài trừ một wiki địa phương

Nếu bạn muốn thêm ngoại trừ một wiki được chỉ định, ví dụ: Wikisource tiếng Anh, bạn có thể bao trọn toàn bộ hoặc một phần của global.js của bạn trong:

if ( mw.config.get("wgDBname") !== "enwikisource" ) {
	// Bất kỳ JavaScript nào bạn muốn chạy trên tất cả các wiki ngoại trừ enwikisource, hãy vào đây
}

Ví dụ: Đặt một ngôn ngữ giao diện toàn cục

Note: Extension:GlobalPreferences (if present) provides this functionality more conveniently.

/* 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!' );
	}
} );

Định kiểu toàn cục (CSS)

Ghi chú: Mọi dòng @import ... phải luôn luôn ở trên cùng

Ví dụ

/* Any CSS added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

/* Hide a few elements of the interface */
#n-help,
#footer {
	display: none !important;
}

Tùy chỉnh giao diện

Hiện tại tiện ích không hỗ trợ CSS/JS toàn cục cho từng giao diện, nhưng bạn có thể tùy chỉnh CSS và JS cho một giao diện toàn cục. Đối với CSS, bạn có thể chỉnh sửa giao diện của một giao diện cụ thể bằng cách sử dụng các lớp như "skin-vector" và "skin-monobook" được MediaWiki tự động thêm vào thành phần nội dung. Bạn có thể sử dụng bộ chọn :not() để chỉ bỏ qua một giao diện, ví dụ :not(.skin-minerva) để chúng không gây ảnh hưởng đến giao diện di động.

Ví dụ (CSS)

/* Any CSS added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */

/* 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 Enwiki/Simple, and interproject links to Commons/WikiVoyage */
.interwiki-en, .interwiki-simple, .wb-otherproject-commons, .wb-otherproject-wikivoyage {
        font-weight: bold;
}

Ví dụ (JS)

/* Any JavaScript added to this page will be loaded on all wikis where you have an account (see [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|documentation]]). */
// 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');
}