Если Вы пользуетесь надстройкой iMacros и используете макросы, то вы прекрасно знаете, что макрос останавливается при нажатии кнопки СТОП. Это для простых макросов с расширением .iim.
Со скриптами – это макросы написаны в совместительстве с другим языком программирования, например Javascript как у меня, – все сложнее.
Остановка скриптов iMacros кнопкой СТОП
В скриптах может быть два варианта остановки в зависимости от этой настройки:
Manage – Options – General
- Галочка установлена – настройка включена.
Скрипт остановится кнопкой стоп сразу же.Также эту настройку можно по умолчанию указать и в макросе. Первой строчкой напишите:
//imacros-js:showsteps yes - Галочка НЕ установлена – настройка выключена.
Вот имеенно в этом места у вас не выходит остановить скрипт кнопкой СТОП сразу же.
Если галочка не установлена то, скрипт можно будет остановить двумя способами:- Нажать стоп столько раз, сколько мини-макросов и циклов в самом скрипте
- Перезапустить браузер
Эту настройку по аналогии можно указать и в самом скрипте по умолчанию. Вставьте вначале следующий код:
//imacros-js:showsteps no
Как сделать, чтоб скрипт iMacros останавливался при //imacros-js:showsteps no
Для этого в скрипт написанный на Javascript нужно вставить следующую функцию. При этом работать эта функция будет только для команды iimPlayCode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function iimPlayCode(code) { var Cc = Components.classes, Ci = Components.interfaces, wm = Cc["@mozilla.org/appshell/window-mediator;1"] .getService(Ci.nsIWindowMediator) .getMostRecentWindow("navigator:browser"); iimPlay('CODE:' + code); if (iimGetLastError() == 'Macro stopped manually') { window.setTimeout(function() { wm.iMacros.panel.sidebar. document.getElementById('message-box-button-close').click() } , 4); throw 'Скрипт остановлен кнопкой стоп!'; } }; |