apple-touch-fullscreen 是无效标签,ios 完全不识别;真正起作用的是 apple-mobile-web-app-capable="yes",配合添加到主屏幕、https、viewport-fit=cover 及安全区适配才能实现视觉全屏。

直接说结论:apple-touch-fullscreen 是个无效标签,iOS 完全不识别它,写了也没用。
为什么 apple-touch-fullscreen 没效果?
这个 meta 标签从未被 Apple 的 WebKit 引擎实现过。所有官方文档、Safari 开发者指南、iOS Web API 列表中均无此条目。它出现在部分老旧博客或错误复制的代码片段里,属于“以讹传讹”的典型——有人把 apple-mobile-web-app-capable 和安卓的 fullscreen 概念混写,又加了 apple 前缀,结果被反复搬运。
常见误判场景:
- 写了
<meta name="apple-touch-fullscreen" content="yes">,但页面仍带地址栏 → 实际是没走 Web App 启动路径,和这个标签无关 - 删掉它后“突然全屏了” → 真正生效的是
apple-mobile-web-app-capable="yes"+ 用户添加到主屏幕 +viewport-fit=cover - 在微信里测试它 → 微信内置浏览器连
apple-mobile-web-app-capable都忽略,更不会处理这个不存在的 name
apple-mobile-web-app-capable="yes" 才是关键开关
它不是“让页面全屏”,而是告诉 iOS:“允许用户把这个网页当作独立应用启动”。是否真全屏,取决于用户是否真的从主屏幕图标点击打开。
必须同时满足以下三点才可能隐藏地址栏和底栏:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- 页面通过 HTTPS 提供(iOS 11.3+ 强制要求)
- 包含
<meta name="apple-mobile-web-app-capable" content="yes"> - 用户在 Safari 中手动执行「分享 → 添加到主屏幕」→ 回桌面点击图标启动
开发调试时在 Safari 标签页里刷新,window.navigator.standalone 永远是 false,这不是配置问题,是启动方式不对。
真正影响视觉全屏的三个硬性条件
即使用户已添加到主屏幕,以下任一情况都会导致状态栏或底部 Home Indicator 显露、内容被遮挡或留白:
-
viewport-fit=cover缺失:iPhone X 及之后机型一定无法撑满顶部/底部,安全区外内容被裁剪 -
<meta name="viewport">写法错误:比如content="width=device-width, viewport-fit = cover"(等号前后空格)、引号内换行、漏掉initial-scale=1.0→ 整个 viewport 声明被 Safari 忽略 - CSS 未适配安全区:只写
viewport-fit=cover不够,必须用env(safe-area-inset-top)动态计算 padding 或 margin,否则顶部文字被状态栏盖住
容易被忽略的兼容细节
不同 iOS 版本对同一配置响应不一致,尤其涉及状态栏样式:
-
apple-mobile-web-app-status-bar-style="black-translucent"在 iOS 15+ 行为不稳定:有时顶到屏幕最顶,有时又留出空白,且无法用 JS 控制;推荐统一用black或default -
apple-mobile-web-app-title在部分 iOS 版本(如 16.0–16.3)中缺失会导致添加到主屏幕后图标不显示或启动失败,建议始终加上 -
<link rel="apple-touch-icon">必须返回 200,尺寸 ≥ 180×180px,否则 Safari 不显示「添加到主屏幕」入口
真机测试前,先确认 HTTPS、图标、title、viewport 四项齐备,再验证 standalone 模式是否触发——别被一个根本不存在的 apple-touch-fullscreen 标签耽误时间。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










