2016-09-27 151 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