Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于现有div的火灾标签_Javascript_Google Tag Manager - Fatal编程技术网

Javascript 基于现有div的火灾标签

Javascript 基于现有div的火灾标签,javascript,google-tag-manager,Javascript,Google Tag Manager,所以我有一些东西需要在Wordpress博客页面上激发,但是URL中没有任何东西可以帮助识别它们 存在的是内容差异 基于特定div的存在,是否有方法触发标记(或先触发事件,然后触发该事件)?例如,仅存在于我要在其上触发标记的页面上 有什么想法吗?是的,有一种方法,您需要使用激发到数据层的自定义事件 我假设您要检测的div在DOM Ready上可用,并称为“mydiv”。只要检测“mydiv”是否存在,如果它确实将事件推送到数据层: if(document.getElementById('mydi

所以我有一些东西需要在Wordpress博客页面上激发,但是URL中没有任何东西可以帮助识别它们

存在的是内容差异

基于特定div的存在,是否有方法触发标记(或先触发事件,然后触发该事件)?例如,仅存在于我要在其上触发标记的页面上


有什么想法吗?

是的,有一种方法,您需要使用激发到数据层的自定义事件

我假设您要检测的div在DOM Ready上可用,并称为“mydiv”。只要检测“mydiv”是否存在,如果它确实将事件推送到数据层:

if(document.getElementById('mydiv')){
  dataLayer.push({'event':'mydiv_exists'});
}
您可以将此代码放置在许多不同的位置,但最好将其作为“自定义HTML”标记放在GTM中,并在所有页面上激发

然后,您可以创建一个类型为“custom event”的触发器,该触发器将查找事件名称“mydiv_exists”,并且您可以配置更多标记以在此触发器上触发


如果需要,您还可以在发生此事件的同时将其他数据推入数据层。

使用带有DOM类型自定义变量的pageview触发器。即转到变量,新建,选择“DOM元素”,将元素设置为“主体”,将属性名称设置为“类”。然后创建一个新触发器,选择“pageview”,设置为“在某些页面上触发”,选择自定义变量matchtype“contains”和类名(即“page-321”)-WP在主体上使用多个类,因此您必须使用“contains”而不是“equals”作为匹配类型


如果您已将GTM代码放在标题中,则必须将pageview触发器切换为在“DomReady”(如果您已根据文档实施GTM,则GTM代码位于body标记之后,因此默认设置将生效)。

Worpress将id放在body元素中,如第277页,只需使用类似于
#page-277div.mydiv
的内容来过滤页面,这样它就有了.page-id-319,但我仍然不知道如何在gtm中启动一个标记来消除.page-id的存在。有什么想法吗?谷歌改变了建议,让gtm代码现在应该放在标题中。因此,括号中的最后一位不再为真。