2017-05-01 44 views
0

我試圖設置一個基於iMacros for Chrome的當前時間的隨機延遲。多個Eval - 用於Chrome的Imacros

目前我的代碼看起來是這樣的:

SET delay EVAL("if (\"!NOW:hh\" == '11') '2<SP>+<SP>9'; else \"3<SP>+<SP>8\";") 
SET delay EVAL("if (\"!NOW:hh\" == '12') '1<SP>+<SP>10'; else \"3<SP>+<SP>8\";") 
SET delay EVAL("if (\"!NOW:hh\" == '13') '0<SP>+<SP>11'; else \"3<SP>+<SP>8\";") 

SET hour EVAL("var randomNumber=Math.floor(Math.random()*{{delay}}); randomNumber;") 

這不是工作,因爲它只是運行的第一個eval。有沒有什麼辦法可以把這個結合成一條線?

TL; DR:

if NOW:hh = '11' then '9 + 2' 
if NOW:hh = '12' then '10 + 1' 
if NOW:hh = '13' then '11 + 0' 
else '8 + 3' 

預先感謝。

回答

0

不要忘記使用{{}}。

你可以在「否則,如果」或「開關」的條件語句:JavaScript If...Else Statements

SET delay EVAL("if (\"{{!NOW:hh}}\" == '11') '2<SP>+<SP>9'; else if (\"{{!NOW:hh}}\" == '12') '10<SP>+<SP>1'; else if (\"{{!NOW:hh}}\" == '13') '11<SP>+<SP>0'; else \"3<SP>+<SP>8\";") 

PROMPT {{delay}} 

SET hour EVAL("var randomNumber=Math.floor(Math.random()*{{delay}}); randomNumber;") 

PROMPT {{hour}} 

我試圖根據當前時間設置一個隨機延遲

我不知道爲什麼需要這麼複雜的隨機陳述。這似乎夠了:

SET delay("var randomNumber=Math.floor(Math.random()*{{!NOW:hh}} + 1); randomNumber;") 

PROMPT {{delay}} 
+0

謝謝@Eng。 是的,它比真正需要更復雜。主要是因爲我使用iMacros for Chrome,並且因爲網站的製作方式。 (DIV):nth-​​of-type(4)DIV:nth-​​of-type(5)DIV:nth-​​of-type(4)DIV:nth-​​of-type > DIV> DIV:第n的式(2)> TABLE> TBODY> TR> TD> DIV:第n的式(6)> DIV:第n的式(4)> DIV:第n-OF-類型(6)> DIV:類型({{小時}})「' 其中DIV:類型(8)= 6:00' 我在一個時區是提前5小時,所以如果當地時間是11:00(6:00),我不希望它將延遲設置爲6:00。 – Chamezz