Trợ giúp:Tiện ích:GlobalCssJs
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.
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ụ
/* Mọi kịch bản JavaScript được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
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ụ
/* Mọi kịch bản JavaScript được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
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ụ
/* Mọi kịch bản JavaScript được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
// 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
/* 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ụ
/* Mọi mã CSS được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
/* 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)
/* Mọi mã CSS được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
/* 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)
/* Mọi kịch bản JavaScript được thêm vào trang này sẽ được tải trên tất cả các wiki nơi bạn có tài khoản (xem [[mw:Special:MyLanguage/Help:Extension:GlobalCssJs|tài liệu]]). */
// 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');
}