#
Ожидание элементов, переменных
Данные методы предназначены для ожидания загрузки различных типов элементов на странице перед выполнением определенного функционала.
#
Ожидание элемента
Функция используется для ожидания загрузки элемента на странице, после чего выполняет колбэк-функцию.
Синтаксис
GF.waitForElement(selector, callback, minElements, interval, maximumRetries)
GF.waitForElement('.product-item', elements => {
console.log(elements)
}, 5, 100, 50);
GF.waitForElement('body', elements => {
console.log(elements)
})
#
Ожидание событий
Функция подписки на определенное событие, ждет пока сработает конкретное событие на странице и после этого выполняет функцию. Можно использовать once
, если нужно что-либо выполнить один раз при наступлении события, после чего подписка отменится.
Синтаксис
GF.PubSub.on(condition, callback)
GF.PubSub.once(condition, callback)
Параметры:
GF.PubSub.on('sl-event', function (data) {
console.log(data)
});
{
"event": {
"name": "Add to Cart",
"props": {
"eventType": "add-to-cart-v1",
"value": 8.51,
"currency": "BYN",
"productId": "2.274366",
"quantity": 1,
"cart": [
{
"productId": "2.274366",
"quantity": 1,
"itemPrice": 8.51
}
]
}
},
"eventName": "Add to Cart",
"properties": {
"eventType": "add-to-cart-v1",
"value": 8.51,
"currency": "BYN",
"productId": "2.274366",
"quantity": 1,
"cart": [
{
"productId": "2.274366",
"quantity": 1,
"itemPrice": 8.51
}
]
}
}
#
Ожидание функции или переменной
Функция используется для ожидания загрузки определенной переменной или функции внутри объекта Window. Может быть полезно, когда требуется использовать стороннюю библиотеку. Возвращает promise.
Синтаксис
GF.waitForVariable(variable, interval, maximumRetries)
Параметры:
Пример использования:
GF.waitForVariable('someLibrary.jQuery').then(() => {
// window.someLibrary.jQuery is defined
})
#
Ожидание выполнения условия
Функция позволяет ожидать выполнения условия, периодически проверяя его с заданным интервалом. Если условие выполняется, вызывается функция onComplete
. Если условие не выполняется в течение заданного времени ожидания, вызывается функция onFail
.
Синтаксис
GF.Utils.waitUntil(check, onComplete, onFail, delay, timeout)
Параметры:
GF.Utils.waitUntil(
function() {
return document.querySelector('.someElement').length === 3
},
function() {
// do something
},
function() {
// do something
},
500,
10000,
);