【发布时间】:2015-12-03 14:54:09
【问题描述】:
我有一个如下所示的 while 循环:
while(s1 != "#EANF#")
{
iimPlay("CODE:REFRESH");
iimPlay("CODE:TAG POS=1 TYPE=* ATTR=TXT:Contacted:* EXTRACT=TXT")
var s1 = iimGetLastExtract();
}
它将刷新网页,直到找到它想要的内容。但是有时它会变成一个无限循环,我想简单地设置一个计时器,以便它会打破 while 循环并继续。我尝试查看 settimeout 但不知道该怎么做。我希望这个 while 循环放弃刷新网页,如果它在 3 分钟后找不到它想要的内容。
【问题讨论】:
-
你不能写这样的 JS 代码。
iimGetLastExtract是做什么的?是异步的吗? -
什么是
iimPlay?无论如何,如果您正在刷新页面,那么您将从头开始运行 JavaScript,从而进入一个循环。 -
settTimeout 是要走的路。它将返回一个数字,使用此数字您可以取消将其传递给 clearTimeout 函数的执行。
-
抱歉忘了提到我在使用 iMacros 和这个 javascript,所以本质上是:iimPlay("CODE:REFRESH");
-
好吧...我不知道宏,但是如果它有一个像 onResultChange 这样的监听器,那么你可以使用它,否则你应该首先考虑两件事。 'iimGetLastExtract();'可能在 0.5 或 100 秒后包含结果,因此您应该有一个循环来检查每 1 秒以查看它是否返回结果,然后您需要在 3 分钟后取消该计时器,说明它不会工作。跨度>
标签: javascript loops timer break imacros