在我的网站中,我有几个链接,如下所示:
<a href="tel://+12181112222" class="call">218.111.2222</a>
我想使用 jQuery(或其他方法)来确定设备是否支持使用 tel://协议(protocol)进行调用/。世界上有这样的方法吗?
我想使用某种方法来启用或禁用链接,因为当在桌面上单击时,我们会进入类似“Firefox 不知道如何打开此地址,因为协议(protocol)(电话)与任何程序。”
目前,我正在嗅探用户代理并检测它是否是移动设备。但是,有更好/更准确的方法吗?类似于 jQuery 的 $.support.xx
?
if ( (/iPhone|iPod|iPad|Android|BlackBerry/).test(navigator.userAgent) != true ){
$(".call").attr("href", "#");
}
最佳答案
我不确定 Android 或 BlackBerry,但 iOS 会自动获取电话号码并将其包装起来,如下所示:<a href="tel:xxx">xxx</a>
...这样你就可以有一个隐藏的<div>
包含电话号码(如 1-800-555-5555)的某个地方,然后在页面加载时执行如下操作:
var isTelephone = $("a[href*='tel:']").length > 0;
这可能会或可能不会移植到其他平台,您必须尝试一下。
关于javascript - 使用jQuery检测设备是否可以调用电话(支持 "tel://"协议(protocol)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17345177/