You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何消除Safari最新版本中href="tel:"链接的1秒延迟并立即显示呼叫按钮?

解决iOS 14.0.1 Safari中tel:链接长按延迟问题

我之前也踩过这个坑!在iOS 14.x版本的Safari里,带有复杂结构或者动态内容的tel:链接经常会触发长按1秒后才显示选项的默认行为,确实影响用户体验。下面几个办法可以帮你让链接被立即识别为电话呼叫,去掉延迟:

  • 添加CSS触摸行为属性
    给你的呼叫按钮添加touch-action: manipulation;样式,这个属性会告诉Safari:这个元素只需要处理点击和滚动操作,不需要识别长按手势。直接修改你的CSS:

    .callus-btn {
      touch-action: manipulation;
    }
    

    这个方案最轻量化,不需要改动HTML结构,大部分情况下就能解决延迟问题。

  • 用JavaScript直接触发跳转
    如果CSS方案效果不够理想,可以给链接添加onclick事件,强制触发跳转逻辑,绕过Safari的识别延迟:

    <a href="tel:1-234-867-5309" class="btn btn-success font-weight-light callus-btn py-2" title="Call us today!" onclick="window.location.href = this.href; return false;">
      <span class="text-uppercase">Call Us</span> <br>
      {{$contactSetting->format_phone}}
    </a>
    

    这样用户点击时会直接触发电话呼叫的跳转,同时保留href属性作为无JS环境的降级方案。

  • 统一电话号码格式
    注意一下你href里的号码1-234-867-5309和显示的{{$contactSetting->format_phone}}格式尽量保持一致。如果两者格式差异太大,Safari可能会额外做识别校验,导致延迟。统一格式后能帮助浏览器更快判定这是标准的电话链接。

一般优先尝试CSS方案,不行再结合JS触发,这两个方法配合起来基本能解决iOS Safari里tel:链接的长按延迟问题,让用户点击后直接弹出呼叫选项。

内容的提问来源于stack exchange,提问作者Dom DaFonte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:22:49