Предотвращение долгосрочного нажатия на IOS WebKit - программирование
Подтвердить что ты не робот

Предотвращение долгосрочного нажатия на IOS WebKit

В приложении iOS, которое я разрабатываю, я показываю UIWebView, чтобы позволить пользователю обновить свою учетную запись. Страница содержит ссылки, чтобы показать пользователю другую информацию, но вы держите палец по ссылке, появится следующее меню: enter image description here

Как вы можете видеть, он показывает URL-адрес страницы и действие, которое будет выполняться, что я не хочу видеть у пользователя, так как я не хочу, чтобы они могли копировать что-либо, поскольку я отключил "Копировать/Вырезать/Вставить". Как я могу отключить это меню?

Спасибо за любые указатели.

4b9b3361

Ответ 1

Я думаю, вы можете отключить это всплывающее окно, установив свойство CSS -webkit-touch-callout в ссылку none. Вы сделали бы это, отредактировав загружаемый файл HTML или CSS, а не используя Objective-C.

Ответ 2

Что вы хотите сделать, поскольку Rob уже указано, это отключить контекстное меню по умолчанию UIWebView. Вы можете достичь этого, добавив следующую строку в webViewDidFinishLoad:

   [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"];

Ответ 3

Если вы хотите отключить всплывающее всплывающее окно И текста на ENTRE HTML PAGE, используйте это на ТЕЛО на своей веб-странице или глобальном css.

  body {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

Ответ 4

Не нужно указывать браузеру, что у вас есть ссылка, а затем заставить его не вести себя как один!

Просто удалите href="void(0)" полностью!

Ваши атрибуты ontouchend или onclick будут по-прежнему работать.


Если вам нужен обычный синий/подчеркнутый внешний вид, вы можете добавить этот css:

a .originalLink { color: blue; text-decoration: underline; cursor: pointer; }

Это экономит много циклов процессора, особенно когда на странице есть сотни ссылок, в то время как пользователь плавно прокручивается.

Вы также можете распространять это на обычные URL-адреса, используя это:

<a class="originalLink" onclick="location.href='http://mylink';">Real URL Link</a>

Конечно, ваш SEO выходит из окна, но для конкретной ситуации с мобильным веб-приложением это может иметь решающее значение.

Счастливое кодирование!