if (!document.fullscreenElement
&& !document.mozFullScreenElement
&& !document.webkitFullscreenElement
&& !document.msFullscreenElement) {
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
}
else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}我有这个切换全屏幕的代码。它很有效,但也有一些小问题。
我怎么才能解决这个问题?
发布于 2015-07-14 13:50:18
我不知道你能不能解决这些问题。之所以出现这种情况,是因为有两种不同的全屏模式:
虽然可以用JS控制第一个,但不能控制另一个。从可用性/安全性的角度来看,这是有意义的:您应该能够控制页面内的行为,但不能超出页面或用户的首选项。
您所面临的问题之所以发生,是因为:
fullscreen标志时确实会发生更改。您可以在这个罗伯特·尼曼的演示中看到不同之处。他添加了CSS,这样页面在:fullscreen上就会变红。按F11并注意背景如何不会变红,现在单击“全屏/取消全屏”按钮查看背景颜色如何变化。
https://stackoverflow.com/questions/31405626
复制相似问题