【问题标题】:Both onclick and href redirect in anchor tag锚标记中的 onclick 和 href 重定向
【发布时间】:2015-02-26 01:49:22
【问题描述】:

我的 Wordpress page.php 模板中有以下内容:

<a role="button" onclick="<?php echo $link['analytics']; ?>" href="<?php echo $link['link']; ?>" target="<?php echo $link['target']; ?>" class="btn btn-large btn-<?php echo $link['color']; ?>">
                                    <i class="icon-white icon-<?php echo $link['icon']; ?>"></i> 
                                    <?php echo $link['link_text']; ?>
                                </a> 

生成的源代码如下所示:

<a role="button" onclick="ga('send', 'event', 'button', 'click', ‘itunes')" href="http://itunes.apple.com/us/app/rescue-field-guide/id426955029?mt=8&ls=1" target="_blank" class="btn btn-large btn-primary">
                                    <i class="icon-white icon-download"></i> 
                                    Download from the App Store                                    </a> 



<a role="button" onclick="ga('send', 'event', 'button', 'click', 'google-play’)" href="https://market.android.com/details?id=com.cmc_rescue.rescue_field_guide&feature=search_result" target="_blank" class="btn btn-large btn-success">
                                    <i class="icon-white icon-download"></i> 
                                    Download from Google Play                                        </a> 

由于我想要的样式,链接看起来像按钮,并且它们成功重定向到各自的页面,但它们在我的 GA 帐户中注册为点击。

我怎样才能让这个功能的两个部分都工作;重定向和点击?

根据我对这些其他问题的评论:

Html anchor tag onclick() and href execute simultaneously

HTML anchor link - href and onclick both?

似乎有多种方法可以解决这个问题。为我的场景完成此任务的最简单方法是什么?我可以在不使用单独的 javascript 函数的情况下执行此操作吗?或者我的 google 分析函数有问题吗?

谢谢!

【问题讨论】:

  • 不确定是否是复制粘贴错误,但使用的单引号必须都是直引号。看起来你对“iTunes”和“google-play”有不同的看法。
  • 我不知道为什么会这样,但在我的代码中单引号没问题,谢谢!

标签: wordpress redirect google-analytics onclick anchor


【解决方案1】:

这不起作用,因为ga 异步提交事件。由于在您的场景中,随后会立即加载新页面,因此事件将丢失。以下是关于如何使其正常工作的讨论:

http://veithen.github.io/2015/01/24/outbound-link-tracking.html

【讨论】:

  • 根据这些信息,我改变了方法,在 部分 ''
  • 然后在我的 page.php 中,我在 标记中放置了一个名为“tracked”的 css 类。 ' ' 我在 Google Analytics 中仍然看不到任何点击。我不确定我是否正确设置了目标,或者我的代码是否不起作用,有什么想法吗?
  • 首先要检查代码是否生成了对 GA 的请求,例如使用 Chrome 的开发者工具。
  • 好的,jquery 实现一切正常,我在 GA 帐户中查找错误的位置。非常感谢你的帮助!我会投票赞成你的答案,但在我提高声誉之前,StackOverflow 不会允许我这样做。
【解决方案2】:

这是阅读 Andreas 发送的link 之后的工作,谢谢!

我改变了方法,在 head 部分放置了一个 jquery 脚本:

<script> 
$(function() { $("a.tracked").click(function(e) 
{ if (!ga.q) { var url = $(this).attr("href"); 
ga('send', 'event', 'outbound', 'click', url, {'hitCallback': 
function () { document.location = url; } }); 
e.preventDefault(); } }); }); 
</script>

然后在我的page.php中,我在标签中放置了一个名为“tracked”的css类。

<a role="button" href="<?php echo $link['link']; ?>" target="<?php echo $link['target']; ?>" class="tracked btn btn-large btn-<?php echo $link['color']; ?>"> 
<i class="icon-white icon-<?php echo $link['icon']; ?>"></i> 
<?php echo $link['link_text']; ?>
</a>

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 2019-10-06
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    相关资源
    最近更新 更多