多次评估 - Chrome 的 Imacros

Multiple Evals - Imacros for Chrome

我正在尝试根据 iMacros 的当前时间为 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;")

这不起作用,因为它只运行第一个评估。有什么办法可以把它合并成一行吗?

长话短说:

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

提前致谢。

不要忘记使用{{ }}。

您可以"else if"或"switch"条件语句: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}}

I am trying to set a random delay based on the current time

我不知道为什么需要这么复杂的随机语句。这似乎足够了:

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

PROMPT {{delay}}