我正在为自己编写一个应用程序,我需要通过JavaScript自动全屏显示(今天我模拟了F11的新闻,这通常有效,但并非总是如此)。
我想使用.requestFullscreen()
(通过screenfull.js
)但我得到了
无法在'Element'上执行'requestFullscreen':API只能是 由用户手势发起。
这是可以理解的(出于安全性/垃圾邮件/可用性的原因),并在很多页面中提到过。
现在,由于这是我在Chrome浏览器上运行的应用程序,因此我希望能够在浏览器中允许此请求。 这是Chrome的可能设置吗?
答案 0 :(得分:1)
您可以使用自助服务终端模式:
在Windows上:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --chrome --fullscreen --kiosk http://10.20.30.40/page/
在Linux上
chrome --chrome --fullscreen --kiosk http://10.20.30.40/page/
答案 1 :(得分:0)
全屏api有点令人困惑,因为截至目前,没有浏览器接受普通的“无前缀”版本。 Mozilla对全屏api here有很好的解释,并附有适当的前缀列表。
因此,要在Chrome中获得全屏,您实际上需要致电.webkitRequestFullscreen()
。如果你想支持多个浏览器,你需要使用if-else块来确保你拥有所有正确的前缀,如下所示:
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.webkitRequestFullScreen) {
elem.webkitRequestFullScreen();
} else if (elem.mozRequestFullScreen) {
elem.mozRequestFullScreen();
} else if (elem.msRequestFullscreen) {
elem.msRequestFullscreen();
}
这很难看,但不幸的是,这是必要的。您还需要添加适当的前缀以退出全屏,以及您可能应用的任何CSS。您可能会看到的最后一个错误是webkit浏览器在全屏模式下不会以完整大小显示元素,因此您需要将以下内容添加到样式表中。
-webkit-full-screen {
width: 100%;
height: 100%;
}