How to make google chrome go full screen in Angular 4 Application?

前端 未结 3 1761
小鲜肉
小鲜肉 2021-02-14 03:42

I am developing an application where I want to implement such a thing where if user leaves from one component & enters other component, then in other component\'s ngOnInit m

相关标签:
3条回答
  • 2021-02-14 04:28

    How To - Fullscreen - https://www.w3schools.com/howto/howto_js_fullscreen.asp

    This is the current "angular way" to do it.

    HTML

    <h2 (click)="openFullscreen()">open</h2>
    <h2 (click)="closeFullscreen()">close</h2>
    

    Component

    import { DOCUMENT } from '@angular/common';
    import { Component, Inject, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.scss']
    })
    export class AppComponent implements OnInit {
      constructor(@Inject(DOCUMENT) private document: any) {}
      elem;
    
      ngOnInit() {
        this.elem = document.documentElement;
      }
    
      openFullscreen() {
        if (this.elem.requestFullscreen) {
          this.elem.requestFullscreen();
        } else if (this.elem.mozRequestFullScreen) {
          /* Firefox */
          this.elem.mozRequestFullScreen();
        } else if (this.elem.webkitRequestFullscreen) {
          /* Chrome, Safari and Opera */
          this.elem.webkitRequestFullscreen();
        } else if (this.elem.msRequestFullscreen) {
          /* IE/Edge */
          this.elem.msRequestFullscreen();
        }
      }
    
      /* Close fullscreen */
      closeFullscreen() {
        if (this.document.exitFullscreen) {
          this.document.exitFullscreen();
        } else if (this.document.mozCancelFullScreen) {
          /* Firefox */
          this.document.mozCancelFullScreen();
        } else if (this.document.webkitExitFullscreen) {
          /* Chrome, Safari and Opera */
          this.document.webkitExitFullscreen();
        } else if (this.document.msExitFullscreen) {
          /* IE/Edge */
          this.document.msExitFullscreen();
        }
      }
    }
    
    0 讨论(0)
  • 2021-02-14 04:35

    put the following code on the top of the component (before @Component) you want to trigger:

        interface FsDocument extends HTMLDocument {
          mozFullScreenElement?: Element;
          msFullscreenElement?: Element;
          msExitFullscreen?: () => void;
          mozCancelFullScreen?: () => void;
        }
    
        export function isFullScreen(): boolean {
          const fsDoc = <FsDocument> document;
    
          return !!(fsDoc.fullscreenElement || fsDoc.mozFullScreenElement || fsDoc.webkitFullscreenElement || fsDoc.msFullscreenElement);
        }
    
        interface FsDocumentElement extends HTMLElement {
          msRequestFullscreen?: () => void;
          mozRequestFullScreen?: () => void;
        }
    
        export function toggleFullScreen(): void {
          const fsDoc = <FsDocument> document;
    
          if (!isFullScreen()) {
            const fsDocElem = <FsDocumentElement> document.documentElement;
    
            if (fsDocElem.requestFullscreen)
              fsDocElem.requestFullscreen();
            else if (fsDocElem.msRequestFullscreen)
              fsDocElem.msRequestFullscreen();
            else if (fsDocElem.mozRequestFullScreen)
              fsDocElem.mozRequestFullScreen();
            else if (fsDocElem.webkitRequestFullscreen)
              fsDocElem.webkitRequestFullscreen();
          }
          else if (fsDoc.exitFullscreen)
            fsDoc.exitFullscreen();
          else if (fsDoc.msExitFullscreen)
            fsDoc.msExitFullscreen();
          else if (fsDoc.mozCancelFullScreen)
            fsDoc.mozCancelFullScreen();
          else if (fsDoc.webkitExitFullscreen)
            fsDoc.webkitExitFullscreen();
        }
    
        export function setFullScreen(full: boolean): void {
          if (full !== isFullScreen())
            toggleFullScreen();
        }
    

    and on the ngOnInit method make a call to the setFullScreen(full: boolean) function:

    ngOnInit(): void {
        setFullScreen(true);
    }
    
    0 讨论(0)
  • 2021-02-14 04:38

    You can try with requestFullscreen

    I have create a demo on Stackblitz

    fullScreen() {
        let elem = document.documentElement;
        let methodToBeInvoked = elem.requestFullscreen ||
          elem.webkitRequestFullScreen || elem['mozRequestFullscreen']
          ||
          elem['msRequestFullscreen'];
        if (methodToBeInvoked) methodToBeInvoked.call(elem);
    }
    
    0 讨论(0)
提交回复
热议问题