منع تنزيل الصور المنشورة

مرحباً، @davidkingham

إذا فهمت النص البرمجي الذي كتبته بشكل صحيح، فإن النص البرمجي الثاني يمنع فتح قائمة السياق عند النقر بزر الماوس الأيمن على صورة تم فتحها في صندوق الإضاءة.

يجب أن يقوم الأول بنفس الشيء عند النقر بزر الماوس الأيمن على أي صورة، الصورة المصغرة في المنشور، على سبيل المثال.

لكنه لا يعمل، لا يزال بإمكاني فتح القائمة الثانوية وفتح الصورة الكاملة في نافذة أخرى.

لقد حاولت وضع هذا في CSS:

img {
    pointer-events: none;
}

يمنع فتح قائمة السياق، ولكنه يمنع أيضًا النقر على الصورة لفتح صندوق الإضاءة.

ما الخطأ؟

سيكون من الرائع إخفاء روابط التنزيل أسفل صندوق الإضاءة.

كان لدي سابقًا هذا الإدخال في CSS:

.image-source-link
{
    display: none;
}

لكنه الآن لا يبدو أنه يعمل أيضًا، حيث تظهر روابط التنزيل والصورة الأصلية على أي حال أسفل صورة صندوق الإضاءة.

تحديث:
لقد قمت بتعديل النص البرمجي الثاني ليشمل أيضًا .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;
}