我正在尝试根据iMacros for Chrome的当前时间设置随机延迟。
目前我的代码如下:
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 :(得分:0)
不要忘记使用{{}}。
您可以“否则if”或“切换”条件语句: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}}