angular - 未捕获( promise )TypeError : Document not active

标签 angular

我有一个按钮可以让你以全屏模式打开一个窗口。并且有一个错误。如果单击按钮并打开窗口的全屏模式。然后按ESC键退出全屏模式,再按一次键,就会出现这样的错误。

Uncaught (in promise) TypeError: Document not active

at FullScreenService.closeFullscreen

有什么办法可以解决这个错误吗?

isOpenFullScreen: boolean;

fullscreen() {
  if (!this.isOpenFullScreen) {
    this._fullscreen.openFullscreen();
    this.isOpenFullScreen = true;
  } else {
    this._fullscreen.closeFullscreen();
    this.isOpenFullScreen = false;
  }
}

最佳答案

问题是当您按下 ESC 按钮时,属性 isOpenFullScreen 没有改回 false。尝试使用 document.fullscreenElement并按如下方式更改您的 fullscreen 方法。

// isOpenFullScreen: boolean; // not needed

fullscreen() {
  if (document.fullscreenElement === null) {
    this._fullscreen.openFullscreen();
  } else {
    this._fullscreen.closeFullscreen();
  }
}

也许最好在您的服务中添加一个方法来指示您当前是否处于全屏模式。

关于angular - 未捕获( promise )TypeError : Document not active,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817701/

相关文章:

javascript - Angular Material md-autocomplete 不适用于 Angular1 演示中重述的 Angular2 代码

node.js - 使用 Api.ai Nodejs Angular socket.io 的聊天机器人

Angular CLI 不会创建新项目

javascript - 如何获取经过身份验证的用户的数据/id?

angular - NG-bootstrap 4 with Angular 8 : Navbar works, 但在点击时不会自动关闭(在导航栏内部或外部)

javascript - 当 Angular 对象存在时如何更改 CSS?

mysql - 如何使用 Mysql Node.js 在 *ngFor 循环内使用 *ngIf 条件显示默认空值按钮,不喜欢和默认按钮

angular - Ionic 4 Angular 8-未捕获的ReferenceError : global is not defined

angular - 为什么我在传单弹出窗口中的按钮不起作用?

html - Angular 4 Material组件订购