Пример 13. Как компактно структурировать код с помощью пользовательских функций в iMacros?

Каким образом компактно структурировать код, разбив его на отдельные части или блоки, с помощью полезных пользовательских функций из JavaScript, приемлемые в работе приложения iMacros for Mozilla Firefox?

Итак, для начала вот, как пишется эта функция на языке JavaScript:

function name() {}

 

Объявить функцию синтаксически просто словом function, присвоив ей любое имя name, которое по тем же синтаксическим правилам не должно начинаться с цифры (но разрешается символьный знак нижнего подчеркивания_). Внутри круглых скобок может (но не обязательно) добавляться одно или несколько параметров в качестве дополнительных условий. В фигурных скобках (или, как говорится, тело функции) вставляется непосредственно сам исполняющий код. Если в этой функции подразумевается какое-либо математическое действие, то может использоваться оператор return() для возвращения значения по завершению требуемых операций или вычислений.

Использование функций тем и хороши, что они могут использоваться в любой части кода, в котором требуется многократное применение и повторение (как вам будет удобно).

А сейчас примеры…

Напишем функцию бить тапком жать по кнопке «Покупка» или «Purchase» (как вам будет удобно):

[code lang=»js»]
function xbuy() {iimPlayCode(‘TAG POS=1 TYPE=SPAN ATTR=ID:purchase_button_top’)}
[/code]

 

Обычно после применения этой функции приходится ждать некоторое время, обычно несколько секунд. Давайте напишем с помощью функции, знакомую вам по предыдущим примерам, iim-команду ожидания или, как вам будет удобно, задержки:

[code lang=»js»]
function xtime() {iimPlayCode(‘WAIT SECONDS=12’)}
[/code]

 

А теперь напишем функцию по закрытию информационного окна, открытого после совершения ставки. То есть, она требуется тогда, когда нужно нажать на букву «Х» или крестик (как вам будет удобно):

[code lang=»js»]
function xclose() {iimPlayCode(‘TAG POS=1 TYPE=A ATTR=ID:close_confirmation_container’)}
[/code]

 

Сама по себе эта (равно как и предыдущие) функция работать не будет. Надо её вызвать! Или позвать, как вам будет удобно, просто написать xclose() в нужном месте или части основного кода.

Полностью весь этот код будет выглядеть так:

[code lang=»js»]
xbuy1()
xtime()
xclose()
function xbuy1() {iimPlayCode(‘TAG POS=1 TYPE=SPAN ATTR=ID:purchase_button_top’)}
function xtime() {iimPlayCode(‘WAIT SECONDS=12’)}
function xclose() {iimPlayCode(‘TAG POS=1 TYPE=A ATTR=ID:close_confirmation_container’)}
[/code]

 

Или так:

[code lang=»js»]
function xbuy2() {iimPlayCode(‘TAG POS=1 TYPE=SPAN ATTR=ID:purchase_button_bottom’)}
function xtime() {iimPlayCode(‘WAIT SECONDS=12’)}
function xclose() {iimPlayCode(‘TAG POS=1 TYPE=A ATTR=ID:close_confirmation_container’)}
xbuy2()
xtime()
xclose()
[/code]

 

Не важно в каком месте (внизу или вверху) и в какой последовательности будут находиться сами функции. Ключевым моментом является когда или где их вызывать!

В следующем примере разберём ещё несколько «фишек», связанных с написанием функций.

 

 

Скачать примеры скриптов в zip-архиве.

 

В этом видео-ролике наглядно показан выше описанный процесс.