多个Evals - 适用于Chrome的Imacros

时间:2017-05-01 05:54:03

标签: google-chrome conditional eval imacros

我正在尝试根据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'

提前致谢。

1 个答案:

答案 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}}