Javascript 30秒后重新加载几个iframe
我有一个包含多个iFrame的页面,我需要一个脚本在30秒后重新加载iFrame。到目前为止,我只发现只适用于iframe的脚本,而另一个脚本不会刷新。有没有办法同时重新加载几个 编辑:不需要超时Javascript 30秒后重新加载几个iframe,javascript,iframe,Javascript,Iframe,我有一个包含多个iFrame的页面,我需要一个脚本在30秒后重新加载iFrame。到目前为止,我只发现只适用于iframe的脚本,而另一个脚本不会刷新。有没有办法同时重新加载几个 编辑:不需要超时 $(function() { setInterval(refreshiframe, 5000); }); function refreshiframe() { $('#testframe').attr('src', $('#testframe').attr('src')); } 其
$(function() {
setInterval(refreshiframe, 5000);
});
function refreshiframe() {
$('#testframe').attr('src', $('#testframe').attr('src'));
}
其实很简单
function refreshiFrames(selectors){
//selectors is an array, it could be -- var selectors = ["#abc",".xyz"]; to get all the iframes that have Id "abc" or class "xyz"
for(let i =0; i<selectors.length; i++){
let iframes = document.querySelectorAll(selectors[i]);
for (let j =0; j<iframes.length; j++){
iframes[j].src = iframes[j].src;
}
}
}
函数刷新框架(选择器){
//选择器是一个数组,它可以是--var选择器=[“#abc”、“.xyz”];以获取Id为“abc”或类为“xyz”的所有iframe
对于(设i=0;i重新加载所有iFrame
let iFrames = document. getElementsByTagName('iframe');
for (let i = 0; i < iFrames.length; i++){
iFrames[i].src = iFrames[i].src;
}
按id重新加载一个iframe
let iFrame = document.getElementById('element-id');
iFrame.src = iFrame.src;
[…document.queryselectoral('iframe')].forEach(i=>i.contentWindow.location.reload());
您可以发布您已经尝试过的内容吗?OP不会要求每30秒重新加载一次-应该是设置超时()
除非另有说明。他没有指定。因此,是的,如果他只需要刷新一次,则设置超时。是否可以仅刷新带有id或名称标记的特定iFrame?我在哪里编辑长度3000,其中0为30秒?以及class=“element class”进入iframe还是div?@Hardi,我有一个可以重新加载所有的iframe
和一定的时间。它对代码进行了注释,以帮助了解那里发生的事情。让我知道这是否有帮助!很好,但在我的代码中,如果将一个类添加到多个iframe中,它只对一个有效。而且它不应该有超时。它应该继续自动刷新。如果需要刷新,在JSFIDLE的第9行,将swap outsetTimeout
替换为setInterval
。这将使其每3秒循环一次,而不是等待3秒后触发一次。
let iFrame = document.getElementById('element-id');
iFrame.src = iFrame.src;