使用Javascript禁用iPhone上的“保存图像”菜单

7

我有一个摄影网站,希望防止图片被复制。当在iPhone上按住一张图片时,如何禁用弹出的保存图像菜单?


我假设你在桌面浏览器的右键上下文菜单中遇到了同样的问题?像 Flickr 等网站经常会使用一个不可见的 div 或类似的元素来覆盖 DOM 中的 img 对象。 - Ben Zotto
不,我们已经禁用了右键上下文菜单,但需要针对触摸事件单独进行操作。 - Matt Dietsche
2个回答

11

尝试:

document.body.style.webkitTouchCallout='none';

顺便问一下,这样做真的值得吗?像这样的黑客攻击会影响用户的期望,并且您的图像已经在互联网上,无论他们正在使用的浏览器是否禁用了上下文菜单,任何想要获取它的人都可以轻松地获得。


我同意某种程度上的观点,但关键词是“易用性”。我认为禁用菜单,就像在桌面浏览器中一样,会让普通访客难以下载图片。对于我来说仍然很容易,但对于一些试图下载孩子照片的妈妈来说可能不是这样的情况 :) - Matt Dietsche
你为什么要阻止妈妈们下载自己孩子的照片呢?你这个怪物!开玩笑的。我理解你的观点 - 简单是一个相对的概念。我不确定是否值得实施,但这不是我的网站或用户群 :)。顺便问一下,webkitTouchCallout 对你有用吗? - dannywartnaby
3
你也可以在CSS中应用它:-webkit-touch-callout: none; - alex

2

按照@alex的方法,使用CSS解决方案(-webkit-touch-callout: none;),可以在iOS7 Safari中完美运行。感谢。


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