Как можно посмотреть на Google DataLayer объекта? - PullRequest
0 голосов
/ 07 февраля 2019

Можно ли эффективно отслеживать изменения в dataLayer простым JavaScript ?Каждый раз, когда вызывается функция dataLayer.push, мне нужно знать об этом событии добавления и проверки, которое было добавлено в dataLayer.Я не могу найти никакого решения для этого.Мне нужно что-то вроде $watch в angularJS , где вы можете наблюдать изменения на любом объекте, но в этом скрипте, о котором я говорил, я могу использовать только обычный JS .Бесконечный цикл с интервалом в одну секунду не является хорошим решением :) Спасибо за советы, подсказки или советы.

Мне нужно что-то вроде:

function callback() {
   // do the stuff with dataLayer
}
watch(window.dataLayer, callback);

window.dataLayer.push({event: 'any event', data: 'any data'});
window.dataLayer.push({event: 'any second event', data: 'any second data'});

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете переопределить функцию dataLayer.push и объединить ее с пользовательскими событиями в JS: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

пример:

var x = dataLayer.push; //make x equal to current datalayer function


dataLayer.push = function (myobj){

   x(myobj);//call current function

   alert('my event dispatch');//event dispatch code goes here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...