【问题标题】:Disable right click for Shadowbox.js禁用 Shadowbox.js 的右键单击
【发布时间】:2012-07-01 12:31:31
【问题描述】:

我目前在我的画廊中使用Shadowbox.js,并且我想在访问者查看完整尺寸的图像时禁用右键单击。我怎样才能做到这一点?

提前致谢。

【问题讨论】:

  • 你为什么要这样做?
  • 我想强制访问者点击图片的下载链接,而不是从上下文菜单中保存图片。这样我就可以处理每次下载,并且可以更好地控制谁在他们的计算机上拥有图像。
  • 大家还是可以看源码的。他们不喜欢被控制。至少很明显
  • 您可以相当轻松地完全禁用它:Jquery/JS prevent right click menu in browsers
  • @Alp:很多用户不知道他们可以查看源代码并从那里获取图像。我知道这一点,他们会收到通知,一旦他们点击下载链接,他们的操作就会被记录下来。

标签: javascript right-click shadowbox


【解决方案1】:

您可以执行以下操作来专门定位 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;}

演示

http://www.shadowbox-js.com/ 上的 Chrome 控制台中执行 Native 语句

【讨论】:

  • 谢谢!由于某种原因,本机解决方案比 jQuery 工作得更好:)
  • 很高兴它成功了!可能是您的 jQuery 版本。我添加了更多说明。不过我无法测试,如果上述两种方法都失败了,你可以随时使用bind
  • 我也很高兴 :) 我有最新的 jQuery 版本 (1.7.2)。
  • 我测试了您的解决方案的 jQuery 变体,live 运行良好。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 2021-03-26
  • 2012-07-19
  • 2021-09-10
相关资源
最近更新 更多