2012-03-20 176 views
0

我的朋友做到了这一点,以便在他的页面上,你不能右键点击他的照片来保存它们。检查完html后,它看起来像是用Javascript来绑定mousedown事件。如果我禁用Javascript,那么我可以右键单击并保存图片,但我想尝试查看是否可以在不禁用Javascript的情况下执行此操作。我尝试使用Javascript控制台将不同的值和函数设置为null,但它不起作用。Javascript事件监听器

我在mousedown事件上设置了一个断点,每当我右键点击一张图片时,就会发生什么。

return document.addEventListener("mousedown", (function(e) { 
     return _this.onMouseDown(e); 
     }), true); 

为什么每次用户点击按钮时都需要绑定mousedown事件?它不应该只在开始时绑定一次吗?

我试过使用removeEventListener,但它没有做任何事情。我怎样才能重新启用右键点击图片?

这是his page

回答

1

只需运行一个浏览器,该浏览器具有阻止网页阻止右键单击并设置该首选项(如Firefox或Chrome)的偏好设置。我可以右键点击保存你的朋友的任何图像到我的Firefox的默认配置中。可以使用右键单击阻止的方法比您的朋友正在使用的方法更有效(包括即使JavaScript禁用时也可以使用的方式),但是没有任何方案可以阻止任何人拍摄图像。这些图像总是可以通过屏幕截图,从浏览器缓存中抓取,从页面源抓取图像URL等等来复制...

一个流行的照片服务通过放置缩放的透明gif图像来使用右键单击威慑在背景图片上显示您看到的实际图片。当用户右键点击时,他们会获得透明的gif,而不是他们正在查看的背景图片。我称之为一种小威慑力,因为它仍然很容易被任何坚定的小偷绕过。即使javascript被禁用,该方案也能正常工作,甚至可以在Firefox等浏览器中工作,阻止应用阻止右键单击,因为它不使用任何javascript,并且因为它提供了右键单击空白gif而不是感兴趣的图像。

0

您可以看到是否有任何其他事件附加到文档。使用Visual event

另外addEventListener是附加事件的旧方法,如果您可以使用jQuery,那么您可以使用bind()和unbind()方法轻松地绑定/解除绑定事件。

+1

addEventListener不是附加事件的旧方法。这是这样做的标准方式。 jQuery只使用addEventListener本身。 – jfriend00 2012-03-20 08:26:48

+0

我已经尝试过视觉事件。它显示了一些东西,但它似乎没有显示任何有关图片。 – 2012-03-20 08:38:06