我正在做一个单页面手机网站,用到了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会导致退出全屏,并提到:
如果想保持用户的全屏体验,可以采用以下这两个方案:
- 利用可安装网络应用机制进入全屏模式。
- 利用 # 片段管理 UI 和应用状态。
这两个办法看不懂,求解
第一个说法可能是说让网页支持PWA(渐进式 Web 应用)这样的确可以保持全屏