ios webView自动识别浅谈

2019-02-28  本文已影响0人  有梦才可以远航

ios webView自动识别属性dataDetectorTypes,经过测试,默认开启电话识别,当web页码中出现8位及以上连续数字时,webView默认识别它为电话号码。

\对电话自动识别:

应用截图1
\下图对时间、日期、email都会识别
应用截图2

关于dataDetectorTypes属性:

typedef NS_OPTIONS(NSUInteger, UIDataDetectorTypes) {
    UIDataDetectorTypePhoneNumber   = 1 << 0,          // 手机号码
    UIDataDetectorTypeLink          = 1 << 1,          // 网址   
    UIDataDetectorTypeAddress       = 1 << 2,          //地址
    UIDataDetectorTypeCalendarEvent = 1 << 3,          //日期
    UIDataDetectorTypeNone          = 0,               // 取消
    UIDataDetectorTypeAll           = NSUIntegerMax    // 识别全部
};

除了设置属性外,还可webView调用js代码取消自动识别

取消自动识别电话号码

 NSString *jsMeta = [NSString stringWithFormat:@"var meta = document.createElement('meta');meta.content='telephone=no,date=no,address=no,email=no';meta.name='format-detection';document.getElementsByTagName('head')[0].appendChild(meta);"];
    [webView stringByEvaluatingJavaScriptFromString:jsMeta];

欢迎互相学习Github

上一篇下一篇

猜你喜欢

热点阅读