Iphone 禁用UIWebView中特定HTML元素的数据检测器

Iphone 禁用UIWebView中特定HTML元素的数据检测器,iphone,uiwebview,Iphone,Uiwebview,是否有人知道是否可以在UIWebView中禁用电话号码、电子邮件地址等的数据检测器(仅针对特定HTML元素) 我希望探测器对加载到UIWebView中的大部分内容处于活动状态,但在某些区域禁用它 如果这是可能的,我假设可以通过在加载的内容中使用HTML属性来实现(而不是设置某种UIWebView属性),例如 编号为9123 3456的标题文本 正文文本,编号9872 4567 在本例中,由于设置了webview.dataDetectorTypes=UIDataDetectorTypeAll,

是否有人知道是否可以在UIWebView中禁用电话号码、电子邮件地址等的数据检测器(仅针对特定HTML元素)

我希望探测器对加载到UIWebView中的大部分内容处于活动状态,但在某些区域禁用它

如果这是可能的,我假设可以通过在加载的内容中使用HTML属性来实现(而不是设置某种UIWebView属性),例如


编号为9123 3456的标题文本
正文文本,编号9872 4567


在本例中,由于设置了
webview.dataDetectorTypes=UIDataDetectorTypeAll
,因此中的号码将被检测为电话号码,而中的号码则不会被检测到。

如果控制web内容,则可以使用jscript(通过jquery)编写自己的数据检测器。如果不控制内容,则可以在调用webViewDidFinishLoad:后使用stringByEvaluatingJavaScriptFromString:插入并执行jscript。

您可以将该属性

x-apple-data-detectors="false"
但不幸的是,这似乎只适用于标签。 我最终使用了这个解决方案:

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

除了禁用电话号码“检测”功能外,这还可以防止运行地址和其他检测功能。

您应该使用

希望它有帮助

因为将为您插入一个带有x-apple-data-Detector的“a”标签,您可以在x-apple-data-Detector设置为false的情况下自己编写标签

原始代码:

<div class="my_time">17:02</div>
17:02
将转变为:

<div class="my_time">
<a href="x-apple-data-detectors://1" dir="ltr" 
   x-apple-data-detectors="true" 
   x-apple-data-detectors-type="calendar-event" 
   x-apple-data-detectors-result="1" 
   style="color: rgb(169, 169, 169); 
   text-decoration-color: rgba(169, 169, 169, 0.258824);">14:18
</a>
</div>

您可以通过如下方式编写代码来防止此问题

<div class="my_time">
  <a x-apple-data-detectors="false" style="text-decoration: none">17:02</a> 
</div>

17:02 

在WKWebView中禁用属性检查器中的所有数据检测器类型。这将解决您的问题

我也有同样的问题,在我看来,SDK中有一个bug/未完成的功能!我只有用于禁用数字检测的intellisense。你找到解决方案了吗?我有一个容器,里面有两个
。一个向左浮动,另一个向右浮动。两者都有数字,这导致数据检测器将两个数字转换为
标签!不幸的是,把它放在浮动的
或周围没有帮助。是的,在那里应用所有的投影有助于为某些元素重新启用它吗?所以页面的大部分都被禁用了,但是你知道某个元素包含一个电话号码,你仍然希望该元素是一个可以打电话的元素?我认为打赌的方法是将其设置为后端,并将正确的元发送给客户端
<div class="my_time">
  <a x-apple-data-detectors="false" style="text-decoration: none">17:02</a> 
</div>