提问人:Dino Pizza 提问时间:3/20/2020 更新时间:8/25/2023 访问量:19348
在 React 中加载时隐藏移动浏览器的地址栏 (IOS / Android)
Hide mobile browser's address bar on load (IOS / Android) in React
问:
移动设备上的 Safari 和 Chrome 在页面加载时都包含可见的地址栏。当页面正文滚动时,URL 栏会最小化:
我的项目基于 React JS,我正在尝试在页面加载时实现此结果(因此无需用户交互,页面需要在最小化 URL 栏的情况下加载。我的网络应用程序由单个页面组成,无法滚动(类似于谷歌地图的应用程序)。
到目前为止,我尝试过什么(在iPhone X上):
- manifest.json > “display”: “standalone” > 这使得 URL 栏仅在页面保存到主页时消失(不是一个好的选择)
- 窗口.scrollTo(0, 1);在 index.js 中(所以它在加载时被调用),什么也没发生,也许只触发 onScroll,但我不能这样做。
参考资料: https://developers.google.com/web/fundamentals/native-hardware/fullscreen/
答:
0赞
Aditya Thakkar
7/27/2021
#1
对于 Safari:
<meta name="apple-mobile-web-app-capable" content="yes">
如果“内容”设置为“是”,则 Web 应用程序将以全屏模式运行。 来源:https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html
对于 Chrome:
<meta name="mobile-web-app-capable" content="yes">
它的作用与上面的相同,但是,这是针对 android 的,上面的适用于 ios。
评论
0赞
wlf
7/28/2021
我没有投反对票,但这对我不起作用。我在 https 网站上尝试了 android 9+Chrome/Firefox 和 iPhone 5+Safari。
2赞
Aidin
12/6/2021
1)询问不是关于在全屏模式下运行。请参阅问题的粗体部分。它只是以编程方式最小化 URL 栏,就像滚动时发生的方式一样。2) 您正在谈论 PWA。在这里,这是人们登陆的正常页面。突然进入全屏需要用户同意。
-5赞
Lacrosse343
3/2/2022
#2
在 iOS 上有一个 hack 可以做到这一点,但不是以编程方式。
- 在 Safari 中,转到网站
- 单击向上箭头框图标,然后选择
Add to Home Screen
- 用于应用程序的图标将从公用文件夹中的图标中获取。您无法手动更改图标,只能更改名称。
favicon.ico
- 现在图标在主屏幕上,Safari不会打开导航控件
- 利润。。。
评论
html, body, { width: 100%; height: 100%; } body { margin: 0; overflow: hidden; }