javascript - 优雅地处理电话 URL

标签 javascript html tel

我的网站上有一个链接:

<a href="tel:0123456789">call me, maybe</a>

这对于可以发起调用的浏览器来说非常有用,但它会随着河马的优雅而退化。像这样的东西:

<h1>The address wasn't understood</h1>

我想附加到 onclick 监听器并显示一个带有数字的弹出窗口。但是,尽管监听器运行,但浏览器仍然遵循该网址(因此会显示错误),并且我认为没有可靠的方法来检测是否存在 tel: 协议(protocol)处理程序。

有什么好的解决办法吗?

最佳答案

我认为这样的方法可以用来查看设备是否自动包装电话号码。

<div id="testTel" style="display:none">+1 (111) 111-1111</div>
var isTelSupported = (function () {
    var div = document.querySelector("#testTel"),
        hasAnchor = document.getElementsByTagName("a").length > 0;
        div.parentNode.removeChild(div);
    return hasAnchor;
}());
alert(isTelSupported);

关于javascript - 优雅地处理电话 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31570000/

相关文章:

html - 如何在圆的边缘放置图标

javascript - 使用 onclick javascript 更改元素的类

javascript - 单击更改文本和电话

javascript - 日期时间 checkin 权限 Hyperledger Fabric

javascript - if 语句 btn.getAttr ('id' ) 与 | |总是返回 true

javascript - Angular Material 显示内容被裁剪

iphone - iOS 网站。使电话号码不可点击

javascript - 使用 ReactJS 通过 Prop 将函数传递给子组件

javascript - 如何从 querySelectorAll 获取所有元素并与 addEventListener 一起使用

web - 在桌面上如何禁用与电话号码的链接?