我在js中编写了这个程序,它通过一个URL列表,它在每个页面上停留几秒钟,关闭当前窗口,然后打开下一个。一切都很完美,现在我需要它来停止/暂停每5个链接。这个项目的第二部分是创建我自己的浏览器,它像程序一样打开,并且会有三个按钮(开始,继续,停止,也可能暂停)。我想开始按钮显然启动通过页面的功能,继续将是它在第五个链接上暂停我想要一个弹出消息说“醒来”并可以选择单击“确定”只要。然后,您必须单击继续才能继续该功能。停止将停止该功能,无论它在列表中到达何处。我希望我的浏览器中显示的链接不会出现在Google Chrome或其他任何内容中。我应该用什么程序来设计浏览器?这是当前程序的代码:
var urlList = ['www.youtube.com',
'www.google.com',
'www.bing.com',
'www.yahoo.com',
'www.facebook,com',
'www.windows.com',
'www.opera.com',];
var wnd;
var curIndex = 0; // a var to hold the current index of the current url
function openWindow(){
wnd = window.open(urlList[curIndex], '', '');
if (curIndex % 5 == 0) {
}
setTimeout(function () {
wnd.close(); //close current window
curIndex++; //increment the index
if(curIndex < urlList.length) openWindow(); //open the next window if the array isn't at the end
}, 4000);
}
openWindow();
帮我完成if语句......
答案 0 :(得分:0)
为超时时段添加变量,而不是使用值4000.请注意,它必须具有全局范围。我在这里添加了一个名为delay
的变量:
var wnd;
var curIndex = 0; // a var to hold the current index of the current url
var delay;
然后,在openWindow()
函数中使用新变量,并在希望暂停发生时将其值设置为if
语句中较长的时间段。
我在这里使用了三元运算符代替if
语句,但您也可以使用if
语句:
function openWindow(){
wnd = window.open('http://' + urlList[curIndex], '', '');
// pause for 30 seconds instead of 4 if the condition is met
delay = (curIndex > 0 && curIndex % 3 == 0 ? 30000 : 4000)
setTimeout(function () {
wnd.close(); //close current window
curIndex++; //increment the index
if(curIndex < urlList.length) openWindow(); //open the next window if the array isn't at the end
}, delay);
}