使用jQuery检测设备是否可以拨打电话(支持"tel://"协议)

Pat*_*ore 21 javascript mobile jquery browser-detection detection

在我的网站上,我有几个这样的链接:

<a href="tel://+12181112222" class="call">218.111.2222</a>

我想使用jQuery(或其他方法)来确定设备是否支持使用tel://协议进行调用.这种方法在世界上存在吗?

我想使用一些方法来启用或禁用链接,因为当点击桌面时,我们来到一个页面,如"Firefox不知道如何打开这个地址,因为协议(tel)与任何程序都没有关联. "

目前,我正在嗅探用户代理并检测它是否是移动设备.但是,有更好/准确的方法吗?像jQuery的东西$.support.xx

if ( (/iPhone|iPod|iPad|Android|BlackBerry/).test(navigator.userAgent) != true ){
    $(".call").attr("href", "#");
}
Run Code Online (Sandbox Code Playgroud)

小智 12

我不确定Android或黑莓手机,但是iOS会自动拿起电话号码并将它们包装起来:<a href="tel:xxx">xxx</a>...所以你可以隐藏<div>一个包含电话号码的地方,如1-800-555-5555,然后,在页面加载上做这样的事情:

var isTelephone = $("a[href*='tel:']").length > 0;
Run Code Online (Sandbox Code Playgroud)

这可能会或可能不会移植到其他平台,您将不得不尝试.

  • 我知道我迟到了,但我发现[这篇文章](http://code.tutsplus.com/tutorials/mobile-web-quick-tip-phone-number-links--mobile-7667)讨论哪个格式可以通过哪种类型的手机识别.你需要选择一个隐藏的"<div>"数字格式,Android和iPhone都可以识别,否则你的工作将是徒劳的! (3认同)

归档时间:

查看次数:

7593 次

最近记录:

8 年,8 月 前