我观察到的dataLayer
阵列,我看不出有什么变化push
。 根本没有自定义方法,其实。 GTM是如何观察更改阵列? 据我所知,变为一个Array
不引发任何事件,不是吗?
编辑:
我做了一些调查研究,发现谷歌图书馆与相互作用的dataLayer
: https://github.com/google/data-layer-helper#listening-for-messages
我会看看代码,甚至回答我的问题,如果我理解ineer运作。
我观察到的dataLayer
阵列,我看不出有什么变化push
。 根本没有自定义方法,其实。 GTM是如何观察更改阵列? 据我所知,变为一个Array
不引发任何事件,不是吗?
我做了一些调查研究,发现谷歌图书馆与相互作用的dataLayer
: https://github.com/google/data-layer-helper#listening-for-messages
我会看看代码,甚至回答我的问题,如果我理解ineer运作。
通过使用GTM图案是发布 / 订户
在代码中的一些细节,有助于识别它:线76和181 https://github.com/google/data-layer-helper/blob/master/src/helper/helper.js
最后线114和119
// Add listener for future state changes.
var oldPush = dataLayer.push;
var that = this;
dataLayer.push = function() {
var states = [].slice.call(arguments, 0);
var result = oldPush.apply(dataLayer, states);
that.processStates_(states);
return result;
};
看看进入states
变量,它是如何传递给this.processStates_()