MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 147: | Line 147: | ||
* | /* | ||
$('.weaponsli').on('mouseenter', function() { | $('.weaponsli').on('mouseenter', function() { | ||
// Показываем первый дочерний элемент (tooltip) | // Показываем первый дочерний элемент (tooltip) |
Revision as of 21:07, 6 November 2024
/* Any JavaScript here will be loaded for all users on every page load. */
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
// Google Analytics gtag.js tracking code
(function() {
var gtagScript = document.createElement('script');
gtagScript.async = true;
gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-J726V56N70";
document.head.appendChild(gtagScript);
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-J726V56N70');
})();
//Удаление активного языка
var currlang;
const usedLanguage = $('.mw-pt-languages-selected');
if (usedLanguage) {
currlang = usedLanguage.attr('lang');
const parentElement = usedLanguage.parent();
if (parentElement) {
parentElement.remove();
}
}
// Смена ссылки на главную по языкам
var logoLink = document.getElementsByClassName('mw-wiki-logo')[0];
var logoLinkHref = logoLink.getAttribute('href');
// Проверяем, что элемент существует
var myVariable = localStorage.getItem("isLightTheme");
// Смена ссылки у Заглавной страницы
var mainInscr = document.getElementById("n-mainpage-description");
var userLang = mw.config.get('wgUserLanguage');
console.log(userLang);
mw.loader.using('mediawiki.util', function() {
//document.body.style.backgroundColor = 'green';
$(document).ready(function() {
if(myVariable == "true"){
if(userLang == 'ru'){
mainInscr.firstElementChild.setAttribute("href", logoLinkHref + '/ru');
logoLink.setAttribute('href', logoLinkHref + '/ru');
var newTab = $('<li id="ca-custom"><a>Тёмная тема</a></li>');
} else if(userLang == 'vi'){
mainInscr.firstElementChild.setAttribute("href", logoLinkHref + '/vi');
logoLink.setAttribute('href', logoLinkHref + '/vi');
var newTab = $('<li id="ca-custom"><a>Chủ đề tối</a></li>');
}
else{
var newTab = $('<li id="ca-custom"><a>Dark theme</a></li>');
}
} else{
if(userLang == 'ru'){
mainInscr.firstElementChild.setAttribute("href", logoLinkHref + '/ru');
logoLink.setAttribute('href', logoLinkHref + '/ru');
var newTab = $('<li id="ca-custom"><a>Светлая тема</a></li>');
} else if(userLang == 'vi'){
mainInscr.firstElementChild.setAttribute("href", logoLinkHref + '/vi');
logoLink.setAttribute('href', logoLinkHref + '/vi');
var newTab = $('<li id="ca-custom"><a>Chủ đề nhẹ nhàng</a></li>');
}
else{
var newTab = $('<li id="ca-custom"><a>Light theme</a></li>');
}
}
// Добавляем новую вкладку после вкладки "Читать"
$('#ca-nstab-main').after(newTab);
$('#ca-nstab-special').after(newTab);
});
});
$(document).ready(function(){
//var iframes = document.querySelectorAll('.youtube-iframe');
var iframes = document.querySelectorAll('iframe');
Array.prototype.forEach.call(iframes, function(iframe) {
iframe.src = iframe.getAttribute('data-src');
});
$('.weaponsli').on('mouseenter', function() {
// Показываем первый дочерний элемент (tooltip)
$(this).children(':first-child').css('display', 'block');
});
$('.weaponsli').on('mouseleave', function() {
// Скрываем tooltip, когда курсор уходит с элемента
$(this).children(':first-child').css('display', 'none');
});
$('.weaponsli').on('mousemove', function(e) {
const tooltip = $(this).children(':first-child');
// Получаем размеры tooltip
const tooltipWidth = tooltip.outerWidth();
const tooltipHeight = tooltip.outerHeight();
// Начальные координаты для расположения tooltip
var tooltipX = e.pageX + 10; // смещение вправо от курсора
var tooltipY = e.pageY - tooltipHeight - 10; // по умолчанию располагаем выше курсора
// Получаем размеры окна
const windowHeight = $(window).height();
const windowWidth = $(window).width();
// Проверяем, не выходит ли tooltip за верхнюю границу видимой области
if (tooltipY < 0) {
// Если нет места сверху, перемещаем tooltip под курсор
tooltipY = e.pageY + 10;
}
// Проверяем, не выходит ли tooltip за правую границу экрана
if (tooltipX + tooltipWidth > windowWidth) {
tooltipX = e.pageX - tooltipWidth - 10; // если не помещается, перемещаем влево
}
// Проверка нижней границы видимой области экрана
if (tooltipY + tooltipHeight > windowHeight) {
// Если tooltip выходит за нижнюю границу, помещаем его **выше** курсора
tooltipY = e.pageY - tooltipHeight - 10;
}
// Применяем новые координаты
tooltip.css({
left: tooltipX + 'px',
top: tooltipY + 'px'
});
});
/*
$('.weaponsli').on('mouseenter', function() {
// Показываем первый дочерний элемент (tooltip)
$(this).children(':first-child').css('display', 'block');
});
$('.weaponsli').on('mouseleave', function() {
// Скрываем tooltip, когда курсор уходит с элемента
$(this).children(':first-child').css('display', 'none');
});
$('.weaponsli').on('mousemove', function(e) {
const tooltip = $(this).children(':first-child');
// Задаем начальные координаты со смещением от курсора
var tooltipX = e.pageX + 10;
var tooltipY = e.pageY + 10;
// Получаем ширину и высоту окна браузера
const windowWidth = $(window).width();
const windowHeight = $(window).height();
// Получаем размеры самого tooltip
const tooltipWidth = tooltip.outerWidth();
const tooltipHeight = tooltip.outerHeight();
// Проверка правого края экрана
if (tooltipX + tooltipWidth > windowWidth) {
tooltipX = e.pageX - tooltipWidth - 10;
}
// Проверка нижнего края экрана
if (tooltipY + tooltipHeight > windowHeight) {
tooltipY = e.pageY - tooltipHeight - 10;
}
console.log(tooltipY);
// Применяем безопасные координаты
tooltip.css({
left: tooltipX -170 + 'px',
top: tooltipY +15 + 'px'
});
});
*/
/*$('.weaponsli').on('mouseleave', function() {
// Скрываем tooltip, когда курсор уходит с элемента
$(this).children(':first-child').css('display', 'none');
});
$('.weaponsli').on('mousemove', function(e) {
// Двигаем tooltip строго под курсором
$(this).children(':first-child').css({
left: e.pageX -170 + 'px',
top: e.pageY +15 + 'px'
});
});*/
$("a").removeAttr("title");
// Сохранение переменной в localStorage
$("#ca-custom").click(function(){
if(myVariable == "true"){
localStorage.setItem("isLightTheme", "false");
setCookie('isLightTheme', '0', 30);
} else{
localStorage.setItem("isLightTheme", "true");
setCookie('isLightTheme', '1', 30);
}
location.reload(true);
});
});
var element1 = document.getElementsByClassName('vector-search-box-input')[0];
element1.placeholder = 'MU Bless Online Wikipedia';
var parent = document.getElementById('footer-places-about');
var firstChild = parent.firstElementChild;
firstChild.innerHTML = 'About MU Bless Online Wikipedia';
//Изменение языков на флажки
const selectedElement = $('.mw-pt-languages-list');
if (selectedElement.length) {
selectedElement.children('li').each(function() {
const anchor = $(this).find('a');
if (anchor.length) {
const hrefValue = anchor.attr('href');
const langValue = anchor.attr('lang');
var img;
if (langValue == 'vi'){
img = '/images/c/cf/Vi.png';
}
else if(langValue == 'ru'){
img = '/images/f/fb/Ru.png';
}
else if(langValue == 'en'){
img = '/images/0/0a/Usa.png';
}
$('<a>', {
href: hrefValue
}).append($('<img>', {
class: 'languageimg',
src: img,
alt: langValue
})).appendTo(selectedElement);
}
$(this).remove();
});
} else {
console.log('Element not found');
}