Ipad 禁用";“保存图像”;在iOS web应用程序中

Ipad 禁用";“保存图像”;在iOS web应用程序中,ipad,web-applications,Ipad,Web Applications,我想禁用移动web应用程序中的“保存图像”菜单,当您用手指按住图像时会出现该菜单。我尝试了CSS属性: -webkit-user-select: none; -webkit-touch-callout: none; 使用“-webkit user select”时,复制菜单被禁用,但不是用于保存图像的菜单。“-webkit touch callout”似乎不起作用(在iPad2上试用) 我还尝试了以下javascript: $('img').live('touchstart,touchmove

我想禁用移动web应用程序中的“保存图像”菜单,当您用手指按住图像时会出现该菜单。我尝试了CSS属性:

-webkit-user-select: none;
-webkit-touch-callout: none;
使用“-webkit user select”时,复制菜单被禁用,但不是用于保存图像的菜单。“-webkit touch callout”似乎不起作用(在iPad2上试用)

我还尝试了以下javascript:

$('img').live('touchstart,touchmove,touchend', function() {
  event.preventDefault();
});
但没有任何效果

有什么建议吗?
提前谢谢

你可以做的一件事是用一个透明的
标签覆盖图像。这将阻止用户“点击”(触摸)图像:

<div style="position:relative;">
  <img src="something.png">
  <div style="position:absolute;left:0px;top:0px;right:0px;bottom:0px;z-index:1000"></div>
</div>

请注意,如果将图像发送到浏览器,则可以保存图像。这只是一个解决办法,对于任何真正想要这些图像的人来说都是一个小麻烦。如果你能看到它,你就可以复制/窃取它。

我相信在这种情况下是你的朋友。 您只需添加:

<img src="path/to/image.png" style="pointer-events:none" alt="">


你应该可以走了。

-webkit touch callout
正在为我工作。我在
机身上使用了它,而不是
img

除了卸下长按手势识别器外,没有任何效果:

for (UIView *subView in self.webView.scrollView.subviews) {
    for (UIGestureRecognizer *recogniser in subView.gestureRecognizers) {
        if ([recogniser isKindOfClass:UILongPressGestureRecognizer.class]) {
            [subView removeGestureRecognizer:recogniser];
        }
    }
}

我刚刚意识到我应该尝试不同的浏览器。我正在与廉政公署合作。当我在Safari中尝试“-webkit touch callout:none;”时,它正在工作。。。但如果能为iCab找到一个解决方案也很好。只是一个提示:当同时绑定多个事件时,应该用空格而不是逗号分隔它们:
-webkit touch callout
对我有效。我在
body
上使用了它,而不是
img
不幸的是,这不起作用。所有其他单击均被禁用,但上下文菜单仍会显示。我在iCab和Atomic Lite中进行了测试。@Tina:即使出现上下文菜单,该菜单也只适用于DIV,而不适用于图像。但是如果你也不想在DIV中显示上下文菜单,那就这么做吧:我无法在使用ios11的ipad上使用它。它仍然允许用户点击并按住,从而打开对话框,用户可以在其中将图像保存到设备。