MediaWiki:Common.js: различия между версиями
Материал из Музыкально-фольклорный депозитарий
Krdk (обсуждение | вклад) (Новая страница: «→Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице: →Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки: mw.hook('wikipage.content').add(function() { // Ищем блок БАННЕРЫ (Timeless генерирует ID 'p-БАННЕРЫ' или 'p-BAN...») |
Krdk (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
console.log('Сайт-скрипт успешно загружен!'); | |||
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | ||
/* Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки */ | /* Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки */ | ||
Версия от 12:25, 8 апреля 2026
console.log('Сайт-скрипт успешно загружен!');
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/* Превращаем текстовые ссылки на SVG в сайдбаре в кликабельные картинки */
mw.hook('wikipage.content').add(function() {
// Ищем блок БАННЕРЫ (Timeless генерирует ID 'p-БАННЕРЫ' или 'p-BANNERS')
// Если блок называется иначе, посмотри его точный ID через F12 (Инспектор кода)
var $bannerBlock = $('#p-БАННЕРЫ .sidebar-chunk, #p-BANNERS .sidebar-chunk').add('#p-БАННЕРЫ ul, #p-BANNERS ul');
if ($bannerBlock.length) {
$bannerBlock.find('li a').each(function() {
var $link = $(this);
var linkText = $link.text().trim();
// Проверяем, оканчивается ли текст ссылки на .svg
if (linkText.match(/\.svg$/i)) {
// Строим URL к файлу.
// В MediaWiki путь к картинке можно получить через Special:FilePath
var imgSrc = mw.util.getUrl('Special:FilePath/' + linkText);
// Создаем тег картинки и заменяем им текст внутри ссылки
var $img = $('<img>', {
src: imgSrc,
alt: 'Баннер',
css: {
'max-width': '100%',
'height': 'auto',
'display': 'block',
'margin': '5px auto'
}
});
$link.empty().append($img);
}
});
}
});