全局禁用电话/邮箱自动识别必须加meta标签,仅靠css无效;需在中后插入,content值须小写、无空格、逗号分隔,且仅旧版ios safari部分支持,chrome/firefox/edge完全不识别。

全局禁用电话/邮箱自动识别必须加 meta 标签
只靠 CSS 无法阻止 Safari 或 Android WebView 对数字、邮箱的自动链接化,meta 标签是唯一可靠入口。必须在 中、<title></title> 之后插入:
<meta name="format-detection" content="telephone=no, email=no">
这个声明告诉浏览器:“别猜了,页面里所有数字和邮箱都只是普通文本”。注意两点:
- content 值必须写成
telephone=no, email=no连写(逗号后不加空格),分开写两个meta可能被后加载的覆盖 - 如果页面中真有需要拨号的号码,得手动用
@#@#@#@#@#@#@#@#@#@0这样既绕过自动识别的不可控性,又保证屏幕阅读器和系统拨号功能正常工作。切忌用 JS 动态插入
tel:链接却不补role,iOS VoiceOver 可能直接跳过该节点。真机验证时最容易漏掉的三个点
桌面 Chrome 模拟器完全不触发格式识别,必须用真机测:
- iOS Safari:长按任意 7 位以上纯数字(如
13812345678),若弹出菜单含“拨打xxx”选项,说明meta未生效或位置错误 - 微信内置浏览器(X5 内核):部分版本会忽略
email=no,但telephone=no稳定;若邮箱仍变蓝,需检查是否被第三方 SDK 注入了同名meta - Android Chrome(62+):已移除对
format-detection的支持,但 WebView(如企业微信、钉钉)仍可能识别——不能因 Chrome 正常就认为全端 OK
真正麻烦的从来不是加一行
meta,而是当设计稿里混着 18 位身份证、6 位验证码、400 电话、带分隔符的手机号时,你得逐个判断哪些该保语义、哪些该断识别,并让每个都经得起 iOS 和 X5 的双重检验。 - iOS Safari:长按任意 7 位以上纯数字(如
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











