手机浏览器全屏保持问题?

发布于 2022-09-12 22:56:56 字数 998 浏览 65 评论 0

我正在做一个单页面手机网站,用到了pushState

主页面index.html
全屏meta设置:

<meta name="full-screen" content="yes"/>
<meta name="browsermode" content="application"/>
<meta name="x5-fullscreen" content="true"/>
<meta name="x5-page-mode" content="app"/>
<meta name="360-fullscreen" content="true"/>

设置首页hash

window.onload=function(){window.history.pushState(null, null, '#index');};

在手机浏览器中访问,无法全屏;把pushState改成replaceState就可以全屏。
首页这样设置没有问题,但是打开其他子页面,比如子页面A.html B.html C.html ... ,需要记录hash,不能简单的replace掉。
我子页面是通过iframe来创建的。

搜索到一篇文章:
https://developers.google.cn/...

里面提到pushState会导致退出全屏,并提到:

如果想保持用户的全屏体验,可以采用以下这两个方案:

  1. 利用可安装网络应用机制进入全屏模式。
  2. 利用 # 片段管理 UI 和应用状态。

这两个办法看不懂,求解

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

计㈡愣 2022-09-19 22:56:56

第一个说法可能是说让网页支持PWA(渐进式 Web 应用)这样的确可以保持全屏

初见终念 2022-09-19 22:56:56

又测试了下,不完全是pushState的问题,iframe加载页面也会导致退出全屏。用了这个方法可以全屏:
https://segmentfault.com/q/10...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文