How do I detect availability of tel: uri scheme in a web app?

3k views Asked by At

I'm looking to use the tel: uri scheme (rfc3966) to make phone numbers linkable on mobile devices in a web application, but I'd prefer to not link them on devices that can't handle the tel: scheme - desktops, or mobile devices without phone functionality (i.e. iPads!)

Is there some way to detect this? I'd prefer to avoid user agent sniffing, if possible.

The iPhone seems to have a canOpenURL function that apps can use to test this, but I'd like to get the same behaviour from Javascript.

3

There are 3 answers

4
James Goodwin On

There's no standard way of detecting browser support for the tel URI scheme.

You can however user-agent sniffing library, such as the excellent WURFL library which can detect this feature.

2
Jon On

The iPhone will automatically pick up whether general text is in phone number format and turn it into a clickable link. No effort required on your side.

ie If you have text "+61 (0)7 3000 0000" on your site the iPhone will know it's a number and make it a link.

1
Maurice Perry On

The MobileESP project has APIs for several server-side languages, as well as a client-side JavaScript API.

Oh! and it's free and open-source (Apache license I believe)