Javascript 如何在google数据层对象上进行监视?

Javascript 如何在google数据层对象上进行监视?,javascript,google-analytics,Javascript,Google Analytics,是否可以在普通JavaScript中有效地监视数据层的更改?每次调用dataLayer.push函数时,我都需要了解添加到dataLayer的这个添加和检查事件。我找不到任何解决办法。我需要像angularJS中的$watch这样的东西,在这里你可以观察任何对象上的变化,但是在这个我标注尺寸的脚本中,我只能使用纯JS。一秒间隔无限循环不是好的解决方案:) 感谢您的提示、提示或建议 我需要像这样的想法: 函数回调(){ //用数据层做这些事情 } 监视(window.dataLayer,回调);

是否可以在普通JavaScript中有效地监视数据层的更改?每次调用dataLayer.push函数时,我都需要了解添加到dataLayer的这个添加和检查事件。我找不到任何解决办法。我需要像angularJS中的
$watch
这样的东西,在这里你可以观察任何对象上的变化,但是在这个我标注尺寸的脚本中,我只能使用纯JS。一秒间隔无限循环不是好的解决方案:) 感谢您的提示、提示或建议

我需要像这样的想法:

函数回调(){
//用数据层做这些事情
}
监视(window.dataLayer,回调);
push({event:'any event',data:'any data'});
push({event:'anysecond event',data:'anysecond data'});

您可以重新定义dataLayer.push函数,并将其与JS中的自定义事件相结合:

例如:

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
}