Javascript 如何在SetTimeout循环条件下清除超时调用
我有一个任务来加载网页中的多个url。因为我有10个url链接的数组大小,但我必须从中导航oly 5 url,我为每个页面一个接一个地加载设置超时,然后下一个加载。当它到达第5个url时,我必须访问我的主页,但由于我的数组数是10,它将继续加载10次 以下是我的示例代码供您参考:Javascript 如何在SetTimeout循环条件下清除超时调用,javascript,webview,settimeout,cleartimeout,Javascript,Webview,Settimeout,Cleartimeout,我有一个任务来加载网页中的多个url。因为我有10个url链接的数组大小,但我必须从中导航oly 5 url,我为每个页面一个接一个地加载设置超时,然后下一个加载。当它到达第5个url时,我必须访问我的主页,但由于我的数组数是10,它将继续加载10次 以下是我的示例代码供您参考: for (var i = 0; i < urlResult.length; i++) { myVar = setTimeout(function(y) { if (urlResult[y]
for (var i = 0; i < urlResult.length; i++) {
myVar = setTimeout(function(y) {
if (urlResult[y] == lastUrl) {
wait(5000)
if (pageVist_num == Total_count) {
console.log("cleat timeout")
clearTimeout(myVar);
document.getElementById("web").src = 'https://www.google.com/'
} else {
pageVist_num = pageVist_num + 1
document.getElementById("web").loadURL(lastUrl);
}
} else {
if (pageVist_num == Total_count) {
clearTimeout(myVar);
console.log("clear timeout")
document.getElementById("web").src = 'https://www.google.com/'
} else {
pageVist_num = pageVist_num + 1
document.getElementById("web").loadURL(urlResult[y]);
}
}
}, i * 18000, i); // we're passing x
}
for(变量i=0;i
您的代码将只保存最后一次引用。使用数组保存所有引用,并基于索引,获取必要的引用并清除它。我是javascript新手。我不知道你能不能解决这个问题?它可以一个接一个地加载所有URL,但问题是,当我想退出时,我无法断开循环。我被卡住了。你能制作一把小提琴让我们更新它吗?我还将查找任何可能对您有所帮助的参考资料。您的代码将只保留最后一次引用。使用数组保存所有引用,并基于索引,获取必要的引用并清除它。我是javascript新手。我不知道你能不能解决这个问题?它可以一个接一个地加载所有URL,但问题是,当我想退出时,我无法断开循环。我被卡住了。你能制作一把小提琴让我们更新它吗?我还将查找任何可能对您有所帮助的参考资料