我有一个按钮可以让你以全屏模式打开一个窗口。并且有一个错误。如果单击按钮并打开窗口的全屏模式。然后按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/