2016-09-27 109 views
0

我需要一个JS在一定的时间间隔内按顺序显示网站。在下面的代码中,我希望它首先显示XMS的谷歌,比NPR的XMS等。我怎样才能实现这个目标用java脚本顺序加载网站

window.open("https://www.google.com","_self"); 
    // wait Xms 
    window.open("http://www.npr.org","_self"); 
    // wait Xms 
    window.open("https://www.washingtonpost.com","_self"); 
    // wait Xms 
    window.open("https://www.google.com","_self"); 
    // wait Xms 
+0

看起来像一个'promise'或'callback'的工作 – Derek

+2

查看[setTimeout()](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout ) – Abdul

+0

您可能需要对它们进行构图。一旦您离开您的页面,您的JavaScript将停止运行,因此您必须将这些页面显示为您网站的一部分。在HTML5中,每个网站都可以禁止。 – LinuxDisciple

回答

0
var interval=2*1000; // 2 seconds 
["https://www.google.com","http://www.npr.org","https://www.washingtonpost.com", 
"https://www.google.com"].forEach((url,i)=>{ 
     setTimeout(()=>{ 
       window.open(url,'_self'); 
     },interval*i); 
}) 

解释:

  • 1 URL将被立刻打开:interval * 0 = 0
  • 第二URL会在2秒后,打开:interval * 1 = 2000
  • 第三URL会4秒后打开:interval * 2 = 4000
  • ....
+1

nope如果是_self它只会打开第一个网址 – jackjop

+0

你是对的。 _自己的确只加载第一个网址,但我希望你能提供解决方案,而不是一半的答案。 – Rich

+0

@Abdennour TOUMI谢谢你的代码。但是,它的确有些作用,但我真正想要的是浏览器在X时间内显示一个站点,并且无需任何用户干预即可自动移动到下一个站点。目前的代码,我只需点击后退按钮,然后下一个网站将加载。 – Rich