javascript - 在全屏中禁用 iframe 重新加载
问题描述
我有以下代码,通过单击按钮使 IFRAME 转到全屏,
var button = document.querySelector('#container .button');
button.addEventListener('click', fullscreen);
// when you are in fullscreen, ESC and F11 may not be trigger by keydown listener.
// so don't use it to detect exit fullscreen
document.addEventListener('keydown', function (e) {
console.log('key press' + e.keyCode);
});
// detect enter or exit fullscreen mode
document.addEventListener('webkitfullscreenchange', fullscreenChange);
document.addEventListener('mozfullscreenchange', fullscreenChange);
document.addEventListener('fullscreenchange', fullscreenChange);
document.addEventListener('MSFullscreenChange', fullscreenChange);
function fullscreen() {
// check if fullscreen mode is available
if (document.fullscreenEnabled ||
document.webkitFullscreenEnabled ||
document.mozFullScreenEnabled ||
document.msFullscreenEnabled) {
// which element will be fullscreen
var iframe = document.querySelector('#container iframe');
// Do fullscreen
if (iframe.requestFullscreen) {
iframe.requestFullscreen();
} else if (iframe.webkitRequestFullscreen) {
iframe.webkitRequestFullscreen();
} else if (iframe.mozRequestFullScreen) {
iframe.mozRequestFullScreen();
} else if (iframe.msRequestFullscreen) {
iframe.msRequestFullscreen();
}
}
else {
document.querySelector('.error').innerHTML = 'Your browser is not supported';
}
}
function fullscreenChange() {
if (document.fullscreenEnabled ||
document.webkitIsFullScreen ||
document.mozFullScreen ||
document.msFullscreenElement) {
console.log('enter fullscreen');
}
else {
console.log('exit fullscreen');
}
}
<div id="container">
<div class="top-left">
<button class="button">Ver Ecrã Completo</button>
</div>
<iframe src="http://google.pt" Title="google" frameborder="0"></iframe>
<div class="error"></div>
</div>
当我进入全屏模式时,我假装禁用刷新/重新加载,反之亦然,我是如何错过的以及如何做到这一点?
ps:我已经添加了谷歌作为例子。注意:要添加为 SWF 和 JavaScript 的 iframe。
解决方案
解决了!
我忘记删除主代码上的以下代码:
var iframe = document.querySelector('iframe'); iframe.src = iframe.src;
推荐阅读
- vue.js - 防止移动到下一个选项卡 vue.js 向导
- linux - Linux:从 find 命令快速创建格式化输出文件 (csv)
- ubuntu - VS Code 连接到 WSL Ubuntu 20.04 LTS,失败并出现错误:无法获取远程环境
- git - Pycharm 终端指向错误的 git 可执行文件(MacOS)
- python - 我需要将列列表中的每个元素转换为 python pandas 中的新列
- android - 连接到服务器时更改活动 (TCP)
- node.js - 在 windows 上安装 vue/cli 时出错
- r - 动态小标题的迭代问题
- javascript - 如何从预定义的对象呈现 Ant Design 图标
- javascript - 通过 Iframe postMessage 传递回调?