Отключение детекторов данных для определенного элемента 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:.