我正在尝试处理我的JS下载链接数组,以便它们在iframe中打开延迟毫秒,以使用户能够点击下载链接。问题是,当一个链接加载到iframe时,它会突然发生。无缘无故跳进主窗口,就像我只是重定向页面一样。然后脚本停止,因为我在第一个数组链接的位置。这是我的代码:
<a href="javascript:void(0);" onclick="
var delay = document.getElementById('delay').value;
var arr = ['link1.html','link2.gtml','link3.html','link4.html'];
var i = 0;
var loop = setInterval(function(){
document.getElementById('iframe').src = arr[i];
if (i+1<arr.length) {i++;} else {clearInterval(loop);}
}, delay);
"><div class="button" align="center" style="font-size: 14px;">Start the batch</div></a>
<br>
Loading interval: <input type="text" size="2" id="delay" value="15000"> miliseconds
<br>
<iframe id="iframe" style="width: 99%; height: 400px; border: 1px solid rgba(128,128,128,0.5);" src="about:blank"></iframe>
答案 0 :(得分:0)
我没有确切地提出您的问题,但我对您的问题知道的是,当您更改iframe中的src属性时,它会更新您的浏览器历史记录状态,因此请尝试,不要更新src属性,而是重新创建iframe :
var loop = setInterval(function(){
var iframe = document.getElementById('iframe');
var parent = document.getElementById('iframe').parentNode;
parent.removeChild(iframe);
var newIframe = document.createElement('iframe');
newIframe.src = arr[i];
parent.appendChild(newIframe);
if (i+1<arr.length) {i++;} else {clearInterval(loop);}
}, delay);