在 ios safari 中可通过 禁用电话号码自动识别为 tel 链接,该属性仅对 webkit 内核生效,支持与 email=no、address=no 合并使用,属 apple 私有属性,非 w3c 标准。

在 iOS Safari 中,网页中出现符合电话号码格式的数字(如 138-1234-5678、+86 138 1234 5678 等),系统会自动将其渲染为可点击的电话链接(<a href="tel:..."></a>),触发拨号行为。若你希望禁用该自动识别功能,可通过 <meta> 标签控制。
使用 format-detection 控制自动识别
iOS Safari 支持一个私有 meta 属性 format-detection,可用于关闭电话、邮箱、地址等自动识别。要禁用电话号码识别,需在 中添加:
该设置仅影响当前页面,且只对 iOS Safari(及基于 WebKit 的 WebView)生效,对 Android 浏览器无作用。
其他相关识别项可一并关闭
如果你还希望同时禁用邮箱或地址的自动识别,可以合并写入(用分号分隔):
-
telephone=no:阻止数字被识别为电话号码 -
email=no:阻止邮箱格式文本(如 user@example.com)变成mailto:链接 -
address=no:阻止地址文本(含“街道”“路”“市”等关键词)触发地图跳转
注意兼容性与替代方案
该 meta 标签是 Apple 私有属性,W3C 并未标准化,因此不推荐依赖它实现核心功能。若内容中必须显示号码但又不能被点击,还可考虑:
- 在号码中插入零宽空格(
),例如:138-1234-5678 - 用
<span></span>包裹并添加style="pointer-events: none;"(仅禁用点击,不阻止识别) - 将号码转为图片(不推荐,影响可访问性和 SEO)
实际开发中,优先使用 telephone=no meta 是最简洁有效的方案,无需额外 JS 或样式干预。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











