angular - Uncaught (in promise) TypeError: Document not active
问题描述
我有一个按钮,可让您以全屏模式打开窗口。并且有一个错误。如果单击按钮并打开窗口的全屏模式。再按ESC
按钮退出全屏模式再按 按钮,就会出现这样的错误。
Uncaught (in promise) TypeError: Document not active
在 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();
}
}
也许最好在您的服务中添加一个方法来指示您当前是否处于全屏模式。
推荐阅读
- javascript - HTTPS 状态 204 无内容与状态取消相同
- python - 关于读取文本文件时分行的问题
- r - 为什么 gdistance::shortestPath 不产生直线?
- python - 使用tensorflow导入LSTM模型时出现导入错误
- c++ - 无法转换 'std::__cxx11::string {aka std::__cxx11::basic_string
}' 到 'LPCSTR {aka const char*}' - python - 在没有 sudo 的 Cloudera CDSW 上安装 python 3.9
- vba - 『On Error』语句删除Table行时如何记录问题记录
- corda - 如何对状态包含`StatePointer`的`Contract`进行单元测试
- python - 从 HTTPS 请求中查找客户端证书的 json/dict
- python - 如何比较数据框的值并将条件应用于其他数据框?