如果我理解您编写的脚本没错的话,第二个脚本可以阻止在灯箱中打开的图片上右键单击时打开上下文菜单。
第一个脚本应该在您右键单击帖子中的缩略图等任何图片时执行相同的操作。
但它不起作用,我仍然可以打开二级菜单并在另一个窗口中打开完整图片。
我尝试在 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 对象上执行相同操作的脚本吗?
如果我用 .mfp-title 替换 .img-source-link 的 CSS,它就可以工作了,现在下载链接也不可见了,但标题也隐藏了。我不明白为什么只隐藏链接不起作用,而隐藏整个标题栏却可以。
.mfp-title {
display: none;
}