Help:Extension:GlobalCssJs/vi
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 Preferences > Appearance
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.
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ụ
/* ⧼globalcssjs-warning-js⧽ */
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ụ
/* ⧼globalcssjs-warning-js⧽ */
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ụ
/* ⧼globalcssjs-warning-js⧽ */
// 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
File:OOjs UI icon lightbulb-yellow.svg <translate> Note:</translate>
/* 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ụ
/* ⧼globalcssjs-warning-css⧽ */
/* 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ư "$2" và "$3" được MediaWiki tự động thêm vào thành phần nội dung.
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.
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)
/* ⧼globalcssjs-warning-css⧽ */
/* 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;
}
Ví dụ (JS)
/* ⧼globalcssjs-warning-js⧽ */
// 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');
}