3

经过更多小时的尝试破解和修复后,我决定重新提出这个问题,但没有最终结果。我为此使用SCREENFULL npm

此 Web 应用程序是员工使用的菜单系统的全屏交互式 UI。我希望在加载时让应用程序全屏启动,或者检测是否全屏显示提示按钮以启用全屏并启动应用程序。两者似乎都没有完成这项工作。

我的尝试包括:

goFullScreen (){
  screenfull.request();
}
<button onClick={(e) => this.goFullScreen()}> enable full screen </button>

工作正常。进入全屏。现在检测显示应用程序(登录页面、菜单等)或仅显示全屏按钮(这样应用程序只能全屏查看)。

screenfull.on('change', () => {
    if (screenfull.isFullscreen) {
      console.log("it freaken works");
      return ( 
        <h1> hi </h1>
      )
    } else if (!screenfull.isFullscreen) {
    // display button to go fullscreen
    }
});

不返回<h1> hi </hi>或返回中的任何东西,但控制台会记录。奇怪的。

更新:

我决定尝试一个DidComponentMount(连同 javascript 的“onLoad”事件):

componentDidMount () {
  screenfull.request();
  console.log("request happened");
}

好吧,请求确实发生了,但是全屏没有启用。调试错误检查后,我使用包中包含的屏幕错误检测器得到一个 webkitfullscreen 错误。

我不知道为什么这不起作用,即使如此,为什么这如此困难。

有没有办法解决这个问题,或者我只是让它变得更难,那么它应该是?

此网络应用程序仅在 Android 平板电脑和 google chrome 浏览器上运行。

4

1 回答 1

3

解决方案很简单。https://developers.google.com/web/fundamentals/native-hardware/fullscreen/

使用清单 json 来获得我想要的确切结果。

于 2018-08-27T22:04:19.937 回答