MediaWiki:Common.js: відмінності між версіями
Wiki (обговорення | внесок) Немає опису редагування Мітка: Ручний відкіт |
Wiki (обговорення | внесок) Немає опису редагування Мітка: Скасовано |
||
| Рядок 101: | Рядок 101: | ||
} | } | ||
applyFontSize(); | applyFontSize(); | ||
}); | |||
// В MediaWiki:Common.js - блокируем переход по ссылкам | |||
document.addEventListener('click', function(e) { | |||
var target = e.target; | |||
// Если кликнули на изображение или ссылку с изображением | |||
if (target.tagName === 'IMG' || | |||
(target.tagName === 'A' && target.querySelector('img'))) { | |||
// Проверяем, ведет ли ссылка на файл изображения | |||
var href = target.href || (target.closest('a') ? target.closest('a').href : ''); | |||
if (href && href.match(/\.(jpg|jpeg|png|gif|bmp|webp)$/i)) { | |||
e.preventDefault(); | |||
e.stopPropagation(); | |||
// Открываем в MediaViewer вместо перехода | |||
var fileTitle = target.getAttribute('data-file-title') || | |||
target.alt || | |||
target.title; | |||
if (fileTitle && window.mw && window.mw.mmv) { | |||
window.mw.mmv.viewer.openImage(fileTitle); | |||
} | |||
} | |||
} | |||
}, true); // Используем capture phase для перехвата | |||
// Блокировка правого клика и открытия в новой вкладке | |||
document.addEventListener('contextmenu', function(e) { | |||
if (e.target.tagName === 'IMG') { | |||
e.preventDefault(); | |||
return false; | |||
} | |||
}); | |||
// Блокировка drag-and-drop изображений | |||
document.addEventListener('dragstart', function(e) { | |||
if (e.target.tagName === 'IMG') { | |||
e.preventDefault(); | |||
return false; | |||
} | |||
}); | }); | ||