2010-09-06 20 views
10

He intentado deshabilitar la detección de número de teléfono en safari para mi aplicación web, pero todavía muestra cadenas de 7 caracteres compuestas por números como números de teléfono. Utilicé la metaetiqueta proporcionada por Apple pero no me gustó.¿Cómo se detecta el número de teléfono de detección en el safari móvil?

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

¿Alguien más se encuentra con este problema y lo soluciona?

Gracias.

Actualización: parece que no detecta los números de teléfono en safari, sino más bien cuando guardo la página como un ícono y la ejecuto desde la pantalla de inicio.

+0

También estoy teniendo el problema, pero solo al azar. iOS no detecta el formato del número de teléfono todo el tiempo. ¿Alguna idea de por qué sucede eso? – nikjohn

+0

posible duplicado de [¿Cómo deshabilitar la vinculación de un número de teléfono en Mobile Safari?] (Http://stackoverflow.com/questions/226131/how-to-disable-phone-number-linking-in-mobile-safari) –

Respuesta

4

OK. Después de un buen rato creo que encontré un trabajo extraño. El problema con el uso de DataDetectorTypes es que deshabilitará la detección del número de teléfono para toda la interfaz de usuario.

Después de probar los detectores de datos = "off" y x-apple-data-detectors = "false" en el span y en las etiquetas, finalmente tropecé con algo que parece prevenir la detección del número de teléfono.

Si envuelvo mi texto en una etiqueta a con un href = "#" la manzana parece dejarlo solo.

13

¿Está cargando esto en un UIWebView? Si es así, debe establecer la propiedad para dataDetectorTypes. por ejemplo:

webView.dataDetectorTypes = UIDataDetectorTypeNone 

tipos de detectores válidos son here.

Buscar UIWebView en el sitio de Apple para una descripción de cómo establecer la propiedad allí.

-Kevin

1

Probar y añadir esto a YourProjectAppDelegate.m

// ... 

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

// ... 

hizo el truco para mí ..

6

Tuvimos un problema similar en nuestra aplicación JQM/Cordova. Teníamos una calculadora integrada en la aplicación y siempre que la cantidad fuera de más de siete dígitos, los datos aparecerían en azul con un subrayado debajo y al hacer clic en los datos aparecería una ventana emergente y le daría la opción de llamar. Simplemente agregamos la metaetiqueta como se describe en la pregunta de apertura & funcionó.

Solo agrego algo de reflexión aquí en caso de que alguien más tenga un problema similar con Safari al detectar 7 datos de cuerda como números de teléfono.

+1

En cordova 3.3 también funciona. – JSG33kC0d3

+0

También funciona con Cordova 6.4.0. – nightlyop

+0

¿Se puede desactivar solo para una vista en particular en lugar de para toda la aplicación? – d512

2

Prueba este Código,

webView.dataDetectorTypes = UIDataDetectorTypeNone; 

Esto puede ayudarle.

Cuestiones relacionadas