битрикс 24 не запускается скрипт
делаю по этой статье https://helpdesk.bitrix24.ru/open/70...ase_id=3743871
на сайте есть чат битрикса и яндекс метрика ошибок в консоли нету, но код не срабатывает похоже код совсем не запускается
<script type="text/javascript">
(window.BxLiveChatLoader = window.BxLiveChatLoader || []).push(function() {cosole.log(1);
BX.LiveChat.addEventListener(window, 'message', function(event){cosole.log(2);
if(event && event.origin == BX.LiveChat.sourceDomain)
{cosole.log(3);
var data = {}; try { data = JSON.parse(event.data); } catch (err){} if(!data.action) return;
if (data.action == 'sendMessage')
{
if (typeof(dataLayer) == 'undefined')
{
dataLayer = [];
}
dataLayer.push({
"ecommerce": {
"purchase": {
"actionField": {
"id" : "user_chat1",
"goal_id" : "33855453"
},
"products": [ {} ]
}
}
});
}
}
});
});
</script>
cosole.log нигде не вызывается |
Может код забыли на страничке разместить?)
|
код размещен в самом низу перед </body>
|
console
|
я же писал что в консоли ошибок нету
это я тут опечатался получается код валидный? но почему даже первая строка не срабатывает?
(window.BxLiveChatLoader = window.BxLiveChatLoader || []).push(function() {
|
гуня, а скрипт, который будет работать с массивом "BxLiveChatLoader" разместили?
https://helpdesk.bitrix24.ru/open/6986667/ |
У Aetae не получилась подсказка =(.
<style>@keyframes mm {0%{transform: scale(0.9)}100%{color:red;transform:scale(4.9)}}</style><div>
BX.LiveChat.addEventListener(window, 'message', function(event){co<div style="display: inline-block;animation: mm 0.2s ease-in-out 0.10s infinite normal">n</div>sole.log(2);
</div>
|
сам чат на странице есть
вот код, размещен перед BxLiveChatLoader
<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//crm/site_button/loader_.js');
</script>
console.log(window.BxLiveChatLoader) выдает undefinded размещен после скрипта чата |
гуня, вам проще ссылку на свой сайт дать.
|
У меня тоже упорно не получается этот 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); |
немного костыльное решение
попросил заказчика написать в супорт битрикс и уже сутки ждем ответа вот такая у них платная поддежка |
платный супорт битрикс не захотел помогать
якобы у них все прекрасно работает |
похоже ребята из битрикс обновили код
счас работает |
| Часовой пояс GMT +3, время: 02:19. |