Привет, друзья! Возникла Есть у нас онлайн-консультант jivosite, у него есть API. Возникла задача через API запрашивать цену для товаров, которых нет в наличии.
Но документации по "живосайту" мало, а техподдержка ничего вразумительного мне не ответила.
Так вот, первая беда: динамические элементы
На странице категории при выборе фильтра в левой части страницы, товары подгружаются AJAXом. И вот после этой подгрузки, обработчики из кода ниже перестают работать. Хотя я использую .on как написано в документации jquery
собственно, вот универсальный код (я его сделал и для категории и для страницы товара), который всем заведует:
var $j = jQuery.noConflict();// создадим указатель для совместимости с другими скриптамиfunction jivo_onLoadCallback(){// встроенная ункция jivosite, подтверждающаяя его готовность
console.log("jivo ready");
$j(document).ready(function(){// ждем загрузки документа
$j('body').on("click",".ask-product",function(e){// не работает после динамической подгрузки
e.preventDefault();
$ask_product_id = $j(this).data("product-id");// достаем идентификатор товара
$ask_base = $j("#product_name_"+ $ask_product_id);// находим базовый элемент с данными о товаре
$product_name = $ask_base.text();// забираем название товара
$product_keycode = atob($ask_base.data("keycode"));// base64 кодированная строка с кодом товара для админа
console.log("$product_url="+ $product_url);
console.log("$product_name="+ $product_name);
jivo_api.showProactiveInvitation("Здравствуйте! Минутку, уточняем для вас цену и наличие "+ $product_name +"...");
jivo_api.sendMessage({name:'Запрос цены'}, $product_name +" "+ $product_keycode);
jivo_api.open();});});};
Вторая беда: пока не загрузился код живосайта, я не могу к нему обращаться, ок, будем ждать его используя встроенную функцию.
попутно, нужно дождаться загрузки основного документа и уже потом навешивать обработчики событий.
Это работает всё крайне медленно и посетитель видит активную кнопку запроса на странице товара раньше, чем код будет готов исполняться. Кликает раньше и ничего не получает естественно. А страница почему-то перезагружается. Как это исправить?
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
d0ublezer0
Привет, друзья! Возникла Есть у нас онлайн-консультант jivosite, у него есть API. Возникла задача через API запрашивать цену для товаров, которых нет в наличии.
Но документации по "живосайту" мало, а техподдержка ничего вразумительного мне не ответила.
Так вот, первая беда: динамические элементы
На странице категории при выборе фильтра в левой части страницы, товары подгружаются AJAXом. И вот после этой подгрузки, обработчики из кода ниже перестают работать. Хотя я использую .on как написано в документации jquery
собственно, вот универсальный код (я его сделал и для категории и для страницы товара), который всем заведует:
Вторая беда: пока не загрузился код живосайта, я не могу к нему обращаться, ок, будем ждать его используя встроенную функцию.
попутно, нужно дождаться загрузки основного документа и уже потом навешивать обработчики событий.
Это работает всё крайне медленно и посетитель видит активную кнопку запроса на странице товара раньше, чем код будет готов исполняться. Кликает раньше и ничего не получает естественно. А страница почему-то перезагружается. Как это исправить?
Edited by d0ublezer0Link to comment
Share on other sites
13 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.