javascript - 使用jQuery检测设备是否可以调用电话(支持 "tel://"协议(protocol))

标签 javascript jquery mobile detection browser-detection

在我的网站中,我有几个链接,如下所示:

<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/

相关文章:

javascript - 使用带有 CSS 过渡的 SVG 图像调整 div 的大小会导致 Firefox 中出现奇怪的交叉线

mobile - Flutter 换屏回调

Javascript - 获取所有表 -> tr > id 值

javascript - 使用非常大的 Javascript 数组或对象

javascript - 单击链接后销毁特定的 li 及其内容

jquery - 从服务器重定向后页面需要刷新

javascript - 使用 jQuery 打开图像以在新窗口中打印

Javascript、Jquery - 单击元素时我在索引上获得两个值

html - 网站在不同宽度的 PC 上看起来不错,但在手机上就坏了

css - 笔记本电脑的移动设计