禁用Shadowbox.js的右键单击功能

3
我目前正在使用Shadowbox.js来制作我的画廊,并且我希望在访客查看完整尺寸的图像时禁用右键单击。我该如何实现这一点?
提前致谢。

为什么你想要这样做? - Alp
我想强制访问者通过下载链接下载图片,而不是从上下文菜单中保存图片。这样我就可以处理每个下载,并更好地控制谁在他们的计算机上拥有该图片。 - Airikr
人们仍然可以查看源代码。他们不喜欢被控制。至少这是显而易见的。 - Alp
1
你可以相对容易地完全禁用它:Jquery/JS在浏览器中阻止右键菜单 - Brandon Boone
1
@Alp: 许多用户不知道他们可以查看源代码并从那里获取图片。我知道这一点,一旦他们点击下载链接,他们将收到通知,他们的操作将被记录。 - Airikr
1个回答

3

您可以按照以下步骤来针对Shadowbox.js进行特定目标的操作,并在页面的其余部分保留上下文菜单。

jQuery 1.7+

$(function(){
    $('#sb-wrapper').on('contextmenu', function(){return false;});
});

jQuery 1.6

$(function(){
    $('#sb-wrapper').live('contextmenu', function(){return false;});
});

本地应用

//Should be executed as part of the window.onload method 
document.getElementById('sb-wrapper').oncontextmenu = function(){return false;}

演示

在Chrome的控制台上执行原生语句,访问http://www.shadowbox-js.com/


谢谢!出于某些原因,本地解决方案比jQuery更好 :) - Airikr
太好了,它起作用了!可能是你的jQuery版本问题。我添加了更多的解释。虽然我无法测试,但如果上述两种方法都失败了,你可以随时使用bind - Brandon Boone
我也很高兴 :) 我有最新的jQuery版本(1.7.2)。 - Airikr
我测试了您解决方案的 jQuery 变量,live 完美地工作了。再次感谢! - Airikr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接