我正在尝试在我的网站中实现全屏功能,但是它不能正常工作,发生的情况是,当我通过菜单切换到其他页面时,它失去了全屏功能。例如,我有一个用于切换全屏功能的按钮,因此,当我单击时,它将进入全屏状态,但是当我单击“转到其他页面”链接时,它将转到另一个页面,但不在全屏状态。但是,如果我使用F11之类的键盘按钮,则它可以正常工作。
所以我正在使用的是用户按钮,这样他就可以切换全屏显示
<input type="button" value="click to toggle fullscreen" onclick="toggleFullScreen()">
我的功能如下:
function toggleFullScreen() {
if ((document.fullScreenElement && document.fullScreenElement !== null) ||
(!document.mozFullScreen && !document.webkitIsFullScreen)) {
if (document.documentElement.requestFullScreen) {
document.documentElement.requestFullScreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullScreen) {
document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.cancelFullScreen) {
document.cancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
}
但这不适用于所有页面。用户单击“ F11”按钮后,有什么方法可以激活该按钮,因为它可以正常工作,并且在切换时它将退出全屏显示。
答案 0 :(得分:1)
Fullscreen web API的请求是在活动文档中的元素上进行的。
当您导航到另一页面时,发出此请求的文档已失效,因此禁用全屏模式是正常的。
F11 全屏模式不是全屏Web API,而是浏览器UI的一部分,就像开发工具等一样。因此,该模式可以持久跨文档。
唯一的解决方法是从原始文档导航到另一页,例如使用