我有一系列页面有“下一步”和“后退”按钮.我希望用户能够全屏显示整个流程.全屏适用于单个页面,但当用户在我的流程中返回或转发页面时退出.
我的全屏功能:
var el = document.documentElement,rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen; rfs.call(el);
当用户导航时,有没有办法让浏览器保持全屏?
谢谢!
解决方法
不,你将无法做到这一点.全屏模式必须由用户启动.
从https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Using_full_screen_mode开始:
此外,导航到另一个页面,更改选项卡或切换到另一个页面
在全屏模式下,应用程序(例如,使用Alt-Tab)也退出全屏模式.
还有另一种选择.您可以创建一个单页面的应用程序.然后,用户只需启动一次全屏模式,并且他们将能够在保持全屏模式的同时浏览不同的“页面”.
编辑
but then how come using cmd-shift-f to get into fullscreen allows you to navigate around?
这使浏览器进入全屏模式,这与使用全屏API不同.使用全屏API,您可以在全屏模式下指定元素.
在您的示例中,您在全屏显示的元素是document.documentElement,它是html元素.
这就是为什么当您在浏览器全屏模式下导航时,它会保持全屏模式.与指定要处于全屏模式的元素相反,当您导航到新页面,更改选项卡或切换到其他应用程序时,全屏模式将退出.
我看到你的选择:
>要求用户将其浏览器启用为全屏模式.>在每个页面导航(当前问题)上启用全屏(通过使用API的按钮).>使用单页应用程序设计,因此用户只需激活一次全屏(通过使用API的按钮).>不要担心全屏模式.