首页 > 解决方案 > 从 iPhone 中的主屏幕图标启动时,方向更改未在 PWA 中提供正确的窗口高度和宽度

问题描述

使用示例 html 和 PWA。使用 iPhone 中的 Safari 将应用程序添加到主屏幕。

在浏览器中,只要有方向改变,我就能获得正确的窗口内部高度和宽度,而在从主屏幕图标启动的应用程序中,它不会在方向改变回调中立即给出改变的宽度和高度。

有人可以帮我弄这个吗?

设备:iPhone 12 safari

标签: iphoneprogressive-web-appsorientation-changes

解决方案


这似乎是 Webkit 浏览器中的一个错误: https ://bugs.webkit.org/show_bug.cgi?id=170595

有人建议:

为避免创建新元素,以下解决方法似乎对我来说效果很好:

对于非 Safari,从 document.documentElement.clientHeight (& Width) 获取布局视口大小。

不幸的是,当 URL 栏隐藏时,Safari 的 documentElement 大小不会更新,所以我不能将它应用于所有 Webkit 浏览器,但这个错误不会发生在 Safari 上。


推荐阅读