【问题标题】:Google Tag Manager - CSS selector challengeGoogle 跟踪代码管理器 - CSS 选择器挑战
【发布时间】:2015-09-10 15:08:16
【问题描述】:

我正在尝试获取源代码中链接的 URL。挑战在于 URL 隐藏在图像后面,因此只能让我获取图像 URL。

我一直在尝试通过在触发系统中使用新的 CSS 选择器来解决此问题,并且还创建了一个 DOM 变量,该变量应该在单击图像时获取 URL。也可以有多个下载。

这是我想要实现的一个示例:

<div> 
 <div class="download">
  <a href="example.com/The-URL-I-Want-to-get-if-top-image-is-clicked.pdf" target="_blank">
   <img src="some-download-image.png"/></a>
 <div class="download">
  <a href="example.com/Another-URL-I-Want-to-get-if-middle-image-is-clicked.pdf" target="_blank">
   <img src="some-download-image.png"/></a>
 <div class="download">
  <a href="example.com/Last-URL-I-Want-to-get-if-bottom-image-is-clicked.pdf" target="_blank">
   <img src="some-download-image.png"/></a>
 </div>
</div>

这个sn-p的上下有很多代码,但是使用选择器应该很容易得到我想要的信息。只是我没有。

如果有人遇到这堵墙并解决了它,我真的很想知道如何解决。 :)

【问题讨论】:

  • 您是否尝试过获取 {{Click Element}} 变量的 href 属性?因此,无论单击哪个链接,您的 gtm.linkClick 事件都将与单击的元素相关联。您可以通过分析从链接单击创建的 dataLayer 对象来检查开发控制台。
  • @nyuen 我一定会尝试的。我想我实际上尝试过类似的东西,但第二次是魅力:)
  • 你能提供一个网站链接让我看看吗?
  • @nyuen 没有成功。也许你可以给我举个例子来说明你将如何做到这一点?

标签: javascript html css-selectors google-tag-manager


【解决方案1】:

这是一种可能的解决方案。据我了解,您希望在单击“下载”图像时获取锚元素的 href 属性。

需要创建一个自定义 Javascript 变量,以便您可以操作点击元素对象:

function(){
   var ec = {{Click Element}};
   var href = $(ec).closest('a').attr('href');
   return href;
}

因此您需要尽职尽责并添加错误检查和其他内容,但基本上这应该返回给您 href,然后您需要解析字符串以提取您需要的部分。

【讨论】:

  • 太棒了!我一整天都在扯头发。感谢您提供优雅有效的解决方案! :)
  • 没问题,留着等年纪大了再脱发。 ;)
猜你喜欢
  • 2021-11-20
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 2016-01-21
  • 1970-01-01
  • 2017-12-20
  • 1970-01-01
  • 2013-08-14
相关资源
最近更新 更多