使用setInterval使用javascript进行全屏浏览
我有一个iframe页面,应该每5分钟更新一次 为此,我使用了以下javascript代码使用setInterval使用javascript进行全屏浏览,javascript,html,fullscreen,Javascript,Html,Fullscreen,我有一个iframe页面,应该每5分钟更新一次 为此,我使用了以下javascript代码 var auto auto = self.setInterval(function(){refresh()}, 300000); function refresh() { var iframe = document.getElementById('report'); iframe.src = iframe.src; } 但现在我想确保我总是全屏 我在google中找到以下代码: fu
var auto
auto = self.setInterval(function(){refresh()}, 300000);
function refresh()
{
var iframe = document.getElementById('report');
iframe.src = iframe.src;
}
但现在我想确保我总是全屏
我在google中找到以下代码:
function full() {
var
el = document.documentElement
, rfs =
el.requestFullScreen
|| el.webkitRequestFullScreen
|| el.mozRequestFullScreen
;
rfs.call(el);
};
如果我按一下按钮就可以了
但如果我从以下位置调用刷新功能,则不起作用:
var auto
auto = self.setInterval(function(){clicar()}, 300000);
function full() {
var
el = document.documentElement
, rfs =
el.requestFullScreen
|| el.webkitRequestFullScreen
|| el.mozRequestFullScreen
;
rfs.call(el);
};
function clicar()
{
full();
var iframe = document.getElementById('report');
iframe.src = iframe.src;
}
浏览器不会返回任何错误,只是不会显示全屏
有什么想法吗?切换到全屏是一个潜在的安全问题,因此通常必须与要执行的用户事件(如单击按钮)相关联。在这种情况下,您将无法从
setInterval
事件切换到全屏。切换到全屏可能失败还有其他原因
如果切换到全屏失败,Firefox会专门将一条消息记录到错误控制台。Firefox和Chrome都有可能实现这一点的选择加入开关
从本页的MDN页:
不能保证您能够切换到全屏模式。例如,
元素具有mozallowfullscreen属性(webkitallowfullscreen等),以便选择允许以全屏模式显示其内容
有关更多详细信息,请参见MDN上的如果没有用户输入,例如单击,则无法调用全屏。这就是为什么在按钮上调用函数而不是超时时,函数可以工作的原因
我认为这是一个浏览器安全问题。有关更多信息,请参见此处使用全屏api是不可能的
但是你可以在每次刷新调用中将
iframe
的高度和宽度设置为与客户端窗口相等。奇怪的是,当前的Chrome告诉我同样的情况,并且仅当设置间隔(与请求的全屏调用无关)时才拒绝全屏启动我的视频在通话前的最后750ms内运行
function loop() {
/* code */
}
setInterval(loop, 1000);
因此,在大约8到10个案例中,这将导致拒绝全屏请求
但是:
检查当您调用刷新功能时,模拟按钮单击以触发全屏模式-我已将其添加为注释,因为我不知道它是否有效,只是一个建议公式按钮不起作用,因为它不是用户调用的
function loop() {
/* code */
setTimeout(loop, 1000);
}
setTimeout(loop, 1000);