MediaWiki:Common.js: Revizyonlar arasındaki fark
Gezinti kısmına atla
Arama kısmına atla
Değişiklik özeti yok Etiket: Geri alındı |
Değişiklik özeti yok Etiket: Geri alındı |
||
6. satır: | 6. satır: | ||
}); | }); | ||
mw.loader.using( | mw.loader.using('mediawiki.api', function () { | ||
jQuery(function ($) { | |||
jQuery(function($){ | |||
var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage'); | var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage'); | ||
var | // Sadece tam “en” kullanıcısına en, diğer herkese tr | ||
var | var subpage = 'MediaWiki:Sidebar/' + (lang === 'en' ? 'en' : 'tr'); | ||
var api = new mw.Api(); | var fallback = 'MediaWiki:Sidebar'; | ||
var api = new mw.Api(); | |||
// 1) Önce o subpage'in gerçekten var olup olmadığını kontrol et | |||
api.get({ | api.get({ | ||
action: ' | action: 'query', | ||
titles: subpage, | |||
format: 'json' | format: 'json' | ||
}).done(function(data) { | }).then(function (res) { | ||
if ( | var pages = res.query.pages; | ||
console.warn(' | // missing olmayan bir page varsa exists = true | ||
var exists = Object.values(pages).some(function(p){ return !p.missing; }); | |||
// 2) Parse isteğini, ya subpage'e ya fallback'e yönlendir | |||
return api.get({ | |||
action: 'parse', | |||
page: exists ? subpage : fallback, | |||
prop: 'text', | |||
format:'json' | |||
}); | |||
}).done(function (data) { | |||
if (data.parse && data.parse.text) { | |||
var html = data.parse.text['*']; | |||
// Varsa Vector legacy ya da Vector2022 vs. selector'ları deneyip replace edelim | |||
var $container = $('#mw-panel, #mw-navigation, .mw-sidebar').first(); | |||
if ($container.length) { | |||
$container.html(html); | |||
} else { | |||
console.error('Sidebar konteyneri bulunamadı; selectorları kontrol edin.'); | |||
} | |||
} else if (data.error) { | |||
console.warn('Parse sırasında hata:', data.error); | |||
} | } | ||
}).fail(function (err) { | |||
console.error('Sidebar yüklenirken AJAX hatası:', err); | |||
}).fail(function( | |||
console.error('Sidebar yüklenirken | |||
}); | }); | ||
}); | }); | ||
}); | }); |
04.56, 22 Haziran 2025 tarihindeki hâli
/* Buraya konulacak JavaScript kodu sitedeki her kullanıcı için her sayfa yüklendiğinde çalışacaktır */
$(document).ready(function() {
// 1) Araçlar menüsüne emoji ekle
$('#p-tb h3').prepend('⚙️️ ');
});
mw.loader.using('mediawiki.api', function () {
jQuery(function ($) {
var lang = mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage');
// Sadece tam “en” kullanıcısına en, diğer herkese tr
var subpage = 'MediaWiki:Sidebar/' + (lang === 'en' ? 'en' : 'tr');
var fallback = 'MediaWiki:Sidebar';
var api = new mw.Api();
// 1) Önce o subpage'in gerçekten var olup olmadığını kontrol et
api.get({
action: 'query',
titles: subpage,
format: 'json'
}).then(function (res) {
var pages = res.query.pages;
// missing olmayan bir page varsa exists = true
var exists = Object.values(pages).some(function(p){ return !p.missing; });
// 2) Parse isteğini, ya subpage'e ya fallback'e yönlendir
return api.get({
action: 'parse',
page: exists ? subpage : fallback,
prop: 'text',
format:'json'
});
}).done(function (data) {
if (data.parse && data.parse.text) {
var html = data.parse.text['*'];
// Varsa Vector legacy ya da Vector2022 vs. selector'ları deneyip replace edelim
var $container = $('#mw-panel, #mw-navigation, .mw-sidebar').first();
if ($container.length) {
$container.html(html);
} else {
console.error('Sidebar konteyneri bulunamadı; selectorları kontrol edin.');
}
} else if (data.error) {
console.warn('Parse sırasında hata:', data.error);
}
}).fail(function (err) {
console.error('Sidebar yüklenirken AJAX hatası:', err);
});
});
});