TypeError: Failed to execute 'exitFullscreen' on 'Document': Document not active at main.js:117
时间: 2023-07-11 08:09:02 浏览: 176
这个错误通常是因为在尝试退出全屏模式时,文档不处于活动状态。这可能是因为在退出全屏模式之前,文档已经失去了焦点或被隐藏了。你可以在调用 `exitFullscreen()` 方法之前确保文档处于活动状态,例如:
```
if (document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) {
// 确保文档处于活动状态
document.activeElement.blur();
// 退出全屏模式
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
```
这段代码会先检查文档是否处于全屏模式,如果是,则让当前的焦点元素失去焦点,确保文档处于活动状态,然后再尝试退出全屏模式。
相关问题
TypeError: Failed to execute 'exitFullscreen' on 'Document': Document not active
这个错误通常是因为你尝试在一个不支持全屏模式的文档中调用 exitFullscreen 方法。请确保你在支持全屏模式的文档中调用此方法。另外,请注意 exitFullscreen 方法只能在全屏模式下调用,如果你的文档当前不在全屏模式下,也会出现类似的错误。你可以通过检查 document.fullscreenElement 是否为空来判断当前是否在全屏模式下。
请求错误: TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body. at HTMLButtonElement.<anonymous> (file:///C:/Users/86131/Desktop/interface/static/node_ceshi/ceshi_1.js:11:3) {stack: 'TypeError: Failed to execute 'fetch' on 'Wind…/interface/static/node_ceshi/ceshi_1.js:11:3)', message: 'Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.'}
这个错误是由于你在fetch请求中使用了GET方法,并且尝试在请求中添加了请求体。GET请求通常不允许有请求体,因此会引发该错误。
要解决这个问题,你可以将fetch请求的方法改为POST或其他允许带有请求体的方法。根据你的需要和后端API的要求,选择合适的请求方法。
下面是一个修改后的示例代码:
```javascript
// 获取按钮和输入框元素
const searchButton = document.getElementById('search-button');
const keywordInput = document.getElementById('keywordInput');
// 监听按钮点击事件
searchButton.addEventListener('click', () => {
// 获取关键字
const keyword = keywordInput.value;
// 发送fetch请求
fetch('/api/data', {
method: 'POST', // 注意这里改为POST方法
body: JSON.stringify({ keyword: keyword }),
headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
// 在这里更新数据
console.log(data);
})
.catch(error => {
console.error('请求错误:', error);
});
});
```
在上述代码中,我将fetch请求的方法改为POST,并在请求中添加了请求体。请根据你的需求和后端API的要求进行相应的修改。
阅读全文