如何强制我的Chrome浏览器接受.requestFullscreen()?

时间:2017-09-11 19:56:01

标签: javascript google-chrome fullscreen

我正在为自己编写一个应用程序,我需要通过JavaScript自动全屏显示(今天我模拟了F11的新闻,这通常有效,但并非总是如此)。

我想使用.requestFullscreen()(通过screenfull.js)但我得到了

  

无法在'Element'上执行'requestFullscreen':API只能是   由用户手势发起。

这是可以理解的(出于安全性/垃圾邮件/可用性的原因),并在很多页面中提到过。

现在,由于这是我在Chrome浏览器上运行的应用程序,因此我希望能够在浏览器中允许此请求。 这是Chrome的可能设置吗?

2 个答案:

答案 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%;
}