06/07/2017Artículo original
Foto: Esparta Palma – CC BY 2.0
Si creamos una página web que sabemos que va a ser utilizada desde dispositivos móviles, o si se trata de una aplicación que luego desplegaremos usando algún entorno de empaquetado de aplicaciones como Apache Cordova/PhoneGap, puede resultar muy útil permitir que los usuarios marquen un número de teléfono o envíen un SMS solamente pulsando un botón o un enlace.
El acceso al teléfono, entendiendo por ello la posibilidad de realizar llamadas, es muy limitado en aplicaciones HTML5. De hecho, no hay manera de acceder a los contactos en una aplicación web pura. Aunque el W3C estuvo trabajando en una especificación al respecto se abandonó hace años y no está soportada por ningún navegador. Mediante tecnologías como Apache Cordova o PhoneGap sí es posible, pero no en HTML puro que es lo que estamos tratando aquí.
En este caso lo único que puede hacerse es generar un enlace (etiqueta ) y que al pulsarlo realice una llamada a un número de teléfono determinado.
El esquema tel:
Para que se realice una llamada al pulsar un enlace basta con que dicho enlace apunte a un URI que use el esquema tel. Dicho esquema es muy simple:
<a href="tel:+34123456789">Llamar a la central</a>
Lo que ocurre cuando el usuario pulse el enlace ya depende de cada sistema operativo móvil. Así en iOS y Android p. ej., aparece una alerta que muestra el número y permite decidir al usuario si quiere realizar la llamada o no. Otros sistemas operativos muestran una lista con varias opciones. Por ejemplo el iPad, que no admite llamadas de voz, permite añadir el número a la agenda de contactos.
El esquema sms
Dicho esquema permite mostrar la pantalla de mensajería para permitir mandar un SMS:
<a href="sms:+34123456789?body=Hola!">¡Pulsa para decirnos hola!</a>
Este enlace mostraría la página de enviar un sms con el texto Hola! pre-escrito en el mismo.
Algunos dispositivos no soportan el parámetro ?body. Por ejemplo en iOS no puedes usarlo y debes utilizar tan solo sms: