MediaWiki:Common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
document.addEventListener("DOMContentLoaded", function() {
const zoomBtn = document.getElementById('zoom-btn');
const image = document.getElementById('zoomable-image');
const zoomLevels = [1, 1.1, 1.2, 1.5, 1.8]; // Уровни зума
let currentZoomLevel = 0;
if (zoomBtn && image) {
zoomBtn.addEventListener('click', function() {
currentZoomLevel = (currentZoomLevel + 1) % zoomLevels.length;
image.style.transform = `scale(${zoomLevels[currentZoomLevel]})`;
zoomBtn.textContent = `Zoom ${Math.round((zoomLevels[currentZoomLevel] - 1) * 100)}%`;
});
}
});
document.addEventListener("DOMContentLoaded", function() {
// Найдите элементы меню тем
var themeLinks = document.querySelectorAll('body #p-personal li#p-themes ul li a');
// Измените названия тем
themeLinks.forEach(function(link) {
if (link.textContent.includes('⧼theme-sai⧽')) {
link.textContent = 'SaI';
}
// Добавьте дополнительные условия для других тем
});
});
/* Any JavaScript here will be loaded for all users on every page load. */
mw.loader.using(['mediawiki.util'], function() {
var theme = mw.config.get('theme'); // Получить активную тему
if (theme === 'light') {
mw.util.addCSS('@import url("/extensions/ThemeToggle/modules/dropdownSwitcher/dark.css");');
} else if (theme === 'dark') {
mw.util.addCSS('@import url("/extensions/ThemeToggle/modules/dropdownSwitcher/dark.css");');
}
});
document.addEventListener('DOMContentLoaded', function() {
const toggle = document.querySelector('.mw-customtoggle-myDivision23');
const collapsible = document.getElementById('mw-customcollapsible-myDivision23');
toggle.addEventListener('click', function() {
collapsible.classList.toggle('open');
});
});
document.addEventListener('DOMContentLoaded', function() {
const tooltipTriggers = document.querySelectorAll('.underline-hover');
tooltipTriggers.forEach(trigger => {
trigger.addEventListener('click', function() {
const tooltip = this.querySelector('.tooltip-text');
tooltip.classList.toggle('show-tooltip');
});
});
});
// Получаем кнопку Themetoggle
const themeToggleBtn = document.querySelector('.theme-toggle-btn');
const infoboxElements = document.querySelectorAll('.infobox');
themeToggleBtn.addEventListener('click', () => {
// Проверяем, какая тема выбрана, и соответственно применяем стили к infobox
if (themeToggleBtn.classList.contains('dark-theme')) {
infoboxElements.forEach(element => {
element.style.backgroundColor = '#333';
element.style.color = '#fff';
});
} else {
infoboxElements.forEach(element => {
element.style.backgroundColor = '#fff';
element.style.color = '#000';
});
}
});
// Функция для генерации случайной страницы
function redirectToRandomPage() {
var pages = ['Page1', 'Page2', 'Page3']; // Замените на ваши страницы
var randomPage = pages[Math.floor(Math.random() * pages.length)];
window.location.href = mw.config.get('wgScript') + '?title=' + encodeURIComponent(randomPage);
}
// Добавляем обработчик к ссылке
$(document).ready(function() {
$('#random-link').click(function(event) {
event.preventDefault(); // Предотвращаем стандартное действие ссылки
redirectToRandomPage();
});
});
// Добавляем таблицу в нижний левый угол на всех страницах
$(document).ready(function() {
$('body').append('<div id="corner-table" class="wikitable" style="position: absolute; bottom: 0; left: 0; z-index: 1000;"><table><tr><td>Тест</td></tr></table></div>');
});
document.addEventListener("DOMContentLoaded", function() {
var themeElement = document.querySelector("body #p-personal li#p-themes");
if (themeElement) {
themeElement.style.borderRight = "1px solid #333";
themeElement.style.padding = "0 .5em";
themeElement.style.marginRight = "0";
themeElement.style.position = "relative";
themeElement.style.listStyle = "none";
themeElement.style.color = "black"; // Черный цвет текста
}
})