Как отключить обнаружение номера телефона в мобильном сафари? - PullRequest
10 голосов
/ 06 сентября 2010

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

<meta name="format-detection" content="telephone=no">

Кто-нибудь еще сталкивался с этой проблемой и обходил ее?

Спасибо.

Обновление: похоже, что он не обнаруживает номера телефонов в сафари, а скорее, когда я сохраняю страницу в виде значка и запускаю ее с домашнего экрана.

Ответы [ 5 ]

13 голосов
/ 04 декабря 2010

Вы загружаете это в UIWebView?Если это так, вам нужно установить свойство для dataDetectorTypes.Например:

webView.dataDetectorTypes = UIDataDetectorTypeNone

Допустимые типы детекторов: здесь.

Найдите UIWebView на сайте Apple, чтобы найти описание того, как установить это свойство.

1010 * Кевин *

6 голосов
/ 24 октября 2012

У нас была похожая проблема в нашем приложении JQM / Cordova. В приложение был встроен калькулятор, и всякий раз, когда сумма составляла более семи цифр, данные отображались синим цветом с подчеркиванием внизу, а когда вы нажимали на данные, появлялось всплывающее окно, в котором вы могли позвонить. Мы просто добавили метатег, как описано в первом вопросе, и это сработало.

Просто добавьте немного мыслей на тот случай, если у кого-то еще возникнет аналогичная проблема с Safari, обнаружившим 7-строковые данные в качестве телефонных номеров.

5 голосов
/ 14 июня 2011

OK. После некоторого возни я думаю, что нашел странную работу вокруг. Проблема с использованием dataDetectorTypes заключается в том, что он отключит обнаружение номера телефона для всего uiwebveiw.

После попытки использования datadetectors = "off" и атрибута x-apple-data-detectors = "false" для диапазона и тегов я, наконец, наткнулся на что-то, что, кажется, препятствует обнаружению номера телефона.

Если я оберну текст в тег тегом href = "#", яблоко, похоже, оставит его в покое.

2 голосов
/ 15 декабря 2012

Попробуйте этот код,

webView.dataDetectorTypes = UIDataDetectorTypeNone;

Это может помочь вам.

1 голос
/ 16 февраля 2011

Попробуйте и добавьте это в YourProjectAppDelegate.m

// ...

- (void)webViewDidStartLoad:(UIWebView *)theWebView 
{
    theWebView.dataDetectorTypes = UIDataDetectorTypeAll ^ UIDataDetectorTypePhoneNumber;    
    return [ super webViewDidStartLoad:theWebView ];
}

// ...

Сделал трюк для меня ..

...