У меня тоже упорно не получается этот BxLiveChatLoader. Хотя я сделал как написано
https://helpdesk.bitrix24.ru/open/7056949/
UPD Получилось так
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script data-skip-moving="true">
(function(w,d,u){
var s=d.createElement('script');s.async=1;s.src=u+'?'+(Date.now()/60000|0);
var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);
})(window,document,'https://cdn.bitrix24.ru/b9442099/crm/site_button/loader_3_nl2tbq.js');
</script>
<script>
function getBitrixLiveChat() {
return new Promise(function reaction(resolve) {
if("BX" in window && "LiveChat" in BX)
resolve();
else
setTimeout(function() { reaction(resolve) }, 100);
});
}
getBitrixLiveChat().then(function() {
BX.LiveChat.addEventListener(window, "message", function(event) {
if (event.origin !== BX.LiveChat.sourceDomain) return;
if (event.data.action !== "sendMessage") return;
alert("Cообщение доставлено!");
console.log(event);
});
});
</script>
</body>
</html>
Который первый скрипт, это из Битрикс, там должен быть скрипт с вашим id, а не с моим тестовым
https://cdn.bitrix24.ru/b9442099/crm...er_3_nl2tbq.js
Второй скрипт запускает
alert("Cообщение доставлено!"); console.log(event); или можете добавить яндекс метрику... он запускается, когда отправляется сообщение и оно доставлено.
Можете отправить тестовое сообщение сообщение, и у вас сработает alert("Cообщение доставлено!"); console.log(event);