Empêcher le téléchargement des images publiées

Salut, @davidkingham

Si j’ai bien compris le script que vous avez écrit, le second empêche l’ouverture du menu contextuel lorsque vous faites un clic droit sur une image ouverte dans la lightbox.

Le premier devrait faire de même lorsque vous faites un clic droit sur n’importe quelle image, par exemple la miniature dans la publication.

Mais cela ne fonctionne pas, je peux toujours ouvrir le menu secondaire et ouvrir l’image complète dans une autre fenêtre.

J’ai essayé de mettre ceci dans le CSS :

img {
    pointer-events: none;
}

Cela empêche l’ouverture du menu contextuel, mais cela empêche également de pouvoir cliquer sur l’image pour ouvrir la lightbox.

Qu’est-ce qui ne va pas ?

Ce serait formidable de masquer les liens de téléchargement sous la lightbox.

J’avais précédemment cette entrée dans le CSS :

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

Mais maintenant, cela ne semble plus fonctionner non plus, car les liens télécharger et image originale sont toujours affichés sous l’image de la lightbox.

MISE À JOUR :

J’ai modifié le second script pour inclure également .lightbox-wrapper, et maintenant cela semble fonctionner et le menu contextuel ne s’affiche pas lorsque vous faites un clic droit sur une image dans une publication, et cela ouvre correctement la lightbox lorsque vous cliquez sur l’image.

<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>

Dois-je supprimer le premier script qui essaie de faire la même chose sur un objet img générique ?

Si je remplace le CSS de .img-source-link par .mfp-title, cela fonctionne, et maintenant les liens de téléchargement ne sont pas visibles, mais le titre est également masqué. Je ne comprends pas pourquoi masquer uniquement les liens ne fonctionne pas et pourquoi cela fonctionne lorsque vous masquez toute la barre de titre.

.mfp-title {
    display: none;
}