首页 > 解决方案 > 谷歌标签管理器点击类事件不起作用

问题描述

我正在处理一个包含 iFrame 的页面,该页面使用的系统似乎是由外星人编写的。该系统是多年前在dotNet框架中编写的。

我正在尝试通过标签跟踪单击事件,但我注意到当单击 iFrame 中的元素时,控制台显示 2 个元素被单击并Tag Manager显示 2 个单击事件。单击显示的第一个元素是隐藏在页面顶部的元素,第二次单击是我单击的元素。

HTML

<input type="button" name="BOOK NOW" value="Book Now" class="platinum-book-button btn btn-primary">

Tag Manager我设置了一个触发器如下:

Trigger Type: Click All Elements
Trigger Fires: Some Clicks
Condition: Click Classes - matches CSS Selector - .platinum-book-button .btn .btn-primary

然后我在控制台中添加(因为`CTRL - 单击不会停止页面更改):

document.addEventListener('click', function (event) { 
    event.preventDefault(); 
    console.log(event.target); 
}, false);

和控制台显示:

<input type="submit" name="ctl00$plcBody$BookingFormGrid$ctl04" value="BOOK NOW" onclick="$('form').attr('action', 'DetailsEntry.aspx?bfid=126b48d6-e3b9-4e57-8be6-067da3425467&amp;bfpid=c125f99a-093c-402a-8855-436e7d233d74&amp;bfrtid=bf8acbd4-78a1-4391-9972-3366c5405ce3&amp;arr=2019-07-07&amp;nts=5&amp;a=1&amp;c=0');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$plcBody$BookingFormGrid$ctl04&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" class="btn btn-primary bnow">

<input type="button" name="BOOK NOW" value="Book Now" class="platinum-book-button btn btn-primary">

第一个元素隐藏在页面顶部,而不是我单击的元素。由于不满足点击类别条件,触发器不会触发。

我错过了什么?

标签: javascripthtmlgoogle-tag-manager

解决方案


我最终使用

Trigger Type: Click All Elements
Trigger Fires: Some Clicks
Condition: Click Element - matches CSS Selector - [name="BOOK NOW"]

推荐阅读