Отключить «сохранить изображение» в веб-приложении iOS - PullRequest
16 голосов
/ 07 июля 2011

Я хочу отключить меню «Сохранить изображение» в мобильных веб-приложениях, которое появляется, когда вы удерживаете палец на изображении.Я пробовал свойства 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();
});

Но без какого-либо эффекта.*Какие-либо предложения?Заранее спасибо!

Ответы [ 4 ]

26 голосов
/ 08 февраля 2012

Я считаю, что в этом случае указатель-события ваш друг. Вы можете просто добавить:

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

И тебе надо идти.

1 голос
/ 01 ноября 2011

Ну, одну вещь, которую вы могли бы сделать, это накрыть изображение прозрачным тегом <div>.Это не позволит пользовательской форме «щелкать» (касаться) изображения вообще:

<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>

Обратите внимание, что если вы отправляете изображения в браузер, их можно сохранить .Это просто обходной путь, небольшое раздражение для тех, кто действительно хочет изображения.Если вы можете просмотреть его, вы можете скопировать / украсть его.

0 голосов
/ 07 мая 2018

у меня ничего не вышло, кроме удаления распознавателя длинных нажатий:

for (UIView *subView in self.webView.scrollView.subviews) {
    for (UIGestureRecognizer *recogniser in subView.gestureRecognizers) {
        if ([recogniser isKindOfClass:UILongPressGestureRecognizer.class]) {
            [subView removeGestureRecognizer:recogniser];
        }
    }
}
0 голосов
/ 06 июля 2017

-webkit-touch-callout работает на меня. Я использовал его на body вместо img

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...