Отключение детекторов данных для определенного элемента HTML в UIWebView

Кто-нибудь знает, можно ли отключить детекторы данных для телефонных номеров, адресов электронной почты и т.д. в UIWebView только для определенных HTML-элементов?

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

Если это возможно, я предполагаю, что это будет достигнуто с использованием атрибута HTML в загруженном контенте (вместо установки какого-либо свойства UIWebView), например

<html>
  <body>
    <h1 datadetectors="off">Header text with number 9123 3456</h1>
    <p>Body text with number 9872 4567</p>
  </body>
</html>

В этом примере число в <p> будет обнаружен как номер телефона из-за установки webview.dataDetectorTypes = UIDataDetectorTypeAll, тогда как число в <h1 > не будет.

Ответы

Ответ 1

вы можете поместить атрибут

x-apple-data-detectors="false"

но, к сожалению, это работает только для тегов. Я решил использовать это решение:

<a href="#" x-apple-data-detectors="false">666-777-777</a>

кроме того, чтобы отключить обнаружение телефонных номеров, это также предотвращает запуск адресов и другого обнаружения.

Ответ 2

вы должны использовать <meta name = "format-detection" content = "telephone=no">

Надеюсь, что это поможет

Ответ 3

Если вы управляете веб-контентом, вы можете использовать jscript (через jquery) для записи собственных детекторов данных. Если вы не контролируете контент, который вы можете вставить и выполнить jscript, используя stringByEvaluatingJavaScriptFromString: вызывается webViewDidFinishLoad:.