单击 Angular 2 中的按钮时如何实现全屏 WINDOW 功能?

How to do FULL SCREEN WINDOW functionality while clicking the button in Angular 2?

我已经为用户创建了登录页面。如果他们单击提交按钮,页面将导航到一个组件 (test.component.ts,test.component.html,..)。

我需要在全屏模式下 window。喜欢,(html5 中的视频控制全屏)。

submitLogin() {
  if (this.userName === 'Student' && this.passWord === 'student@123'){
    this.dashboard = true; 
  } else {
    alert('Incorrect Username or Password');
  }
}

我不知道如何实现全屏window功能。因为,我是 Angular2 的新手。谁能解决我的问题?

以下代码仅适用于较新版本的浏览器。根据你的问题,我确实分析了,点击按钮后调用了 submitLogin() 。所以,点击按钮后,可以使用下面的方法实现全屏。

   submitLogin() {
     this.toggleFullScreen();
     if(this.userName == "Student" && this.passWord == "student@123"){
      this.dashboard = true; 
     }
     else{
       alert("Incorrect Username or Password");
      }
   }

   toggleFullScreen() {
    let elem =  document.body; 
    let methodToBeInvoked = elem.requestFullscreen || 
     elem.webkitRequestFullScreen || elem['mozRequestFullscreen'] || 
     elem['msRequestFullscreen']; 
    if(methodToBeInvoked) methodToBeInvoked.call(elem);

}

你可以到下面link阅读更多。 Documentation

更新: ActiveXObject 仅在 IE 浏览器上可用。所以其他所有用户代理都会抛出一个错误。 您可以使用以下代码:

 toggleFullScreen() {
        let elem =  document.body; 
        let methodToBeInvoked = elem.requestFullscreen || 
         elem.webkitRequestFullScreen || elem['mozRequestFullscreen'] 
         || 
         elem['msRequestFullscreen']; 
        if(methodToBeInvoked) methodToBeInvoked.call(elem);

    }

检查这个库 fscreen 你不必担心供应商前缀,代码更清晰,我为 angular 应用程序做到了,这是我写的代码:

hasFullscreenSupport: boolean = fscreen.fullscreenEnabled;
isFullscreen: boolean;

constructor() {
  if (this.hasFullscreenSupport) {
    fscreen.addEventListener('fullscreenchange', () => {
      this.isFullscreen = (fscreen.fullscreenElement !== null);
    }, false);
  }
}

ngOnDestroy() {
  if (this.hasFullscreenSupport) {
    fscreen.removeEventListener('fullscreenchange');
  }
}

toggleFullscreen() {
  if (this.hasFullscreenSupport && !this.isFullscreen) {
    const elem = document.body;
    fscreen.requestFullscreen(elem);
  } else {
    fscreen.exitFullscreen();
  }
}