Привет, @davidkingham
Если я правильно понимаю ваш скрипт, второй из них предотвращает открытие контекстного меню при щелчке правой кнопкой мыши по изображению, которое уже открыто в лайтбоксе.
Первый должен делать то же самое при щелчке правой кнопкой мыши по любому изображению, например, по миниатюре в посте.
Но это не работает: я всё ещё могу открыть вторичное меню и открыть полное изображение в отдельном окне.
Я пытался добавить это в CSS:
img {
pointer-events: none;
}
Это предотвращает открытие контекстного меню, но также блокирует возможность клика по изображению для открытия лайтбокса.
Что не так?
Было бы здорово скрыть ссылки для скачивания под лайтбоксом.
Ранее у меня в CSS был следующий блок:
.image-source-link
{
display: none;
}
Но теперь это тоже, кажется, не работает, так как ссылки download и original image всё равно отображаются под изображением в лайтбоксе.
ОБНОВЛЕНИЕ:
Я модифицировал второй скрипт, добавив туда .lightbox-wrapper, и теперь, кажется, всё работает: контекстное меню не появляется при щелчке правой кнопкой мыши по изображению в посте, а лайтбокс корректно открывается при обычном клике по изображению.
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
$("body").on("contextmenu", ".cooked img, .mfp-img, .lightbox-wrapper", function(e) {
e.preventDefault();
});
});
</script>
Стоит ли мне удалить первый скрипт, который пытается сделать то же самое для общего объекта img?
Если я заменю CSS для .img-source-link на .mfp-title, это работает: ссылки для скачивания больше не видны, но скрывается и заголовок. Я не понимаю, почему скрытие только ссылок не работает, а скрытие всей панели заголовка — работает.
.mfp-title
{
display: none;
}