多个Eval - 用于Chrome的Imacros

问题描述:

我试图设置一个基于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' 

预先感谢。

不要忘记使用{{}}。

你可以在“否则,如果”或“开关”的条件语句: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