Imacros для FireFox - Loop Inside EVAL - PullRequest
0 голосов
/ 30 ноября 2011

Мне нужно перезагрузить URL (в этом случае, чтобы обновить ту же страницу), пока у меня нет слова, начинающегося с заглавных букв A, B или C.

Как я могу сделать петлю внутри EVAL? Может кто-нибудь дать мне пример кода?

VERSION BUILD=7401110 RECORDER=FX
TAB T=1
URL GOTO=http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx
SET !EXTRACT_TEST_POPUP NO
TAG POS=1 TYPE=SPAN ATTR=ID:tmpl_main_lblWord EXTRACT=TXT
SET !VAR1 EVAL("var re = /^[A || B || C]/gi; var str = \"{{!EXTRACT}}\"; while(str.search(re) == -1) {URL GOTO=http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx}")
PROMPT {{!EXTRACT}}

Я уже спрашивал на форуме iMacros, но до сих пор не получил ответа.

В этой части кода мне нужна помощь, где {{!EXTRACT}} - это извлеченное слово (переменная) со страницы. Таким образом, хотя {{!EXTRACT}} не является словом, начинающимся с заглавной буквы A, B или C, мне нужно снова и снова переходить к одному и тому же URL (в данном случае обновить одну и ту же страницу):

var re = /^[A || B || C]/gi; 
var str = \"{{!EXTRACT}}\"; 
while(str.search(re) == -1) 
{
***go to this URL***
}

Спасибо! :)

1 Ответ

0 голосов
/ 13 декабря 2011

Полагаю, вам лучше перевернуть ситуацию здесь. Вместо того, чтобы писать макрос, используя EVAL с циклом внутри, напишите короткий javascript с циклом, который вызывает короткий макрос.

Вы можете запустить javascript непосредственно в iMacros для Firefox так же, как вы запускаете макрос.

Посмотрите на http://wiki.imacros.net/iMacros_for_Firefox#Javascript_Scripting_Interface для получения дополнительной информации о том, как вызывать команды iMacros из такого javascript.

...