即使使用正确的代码,链接也不会在新窗口中打开!

时间:2011-03-18 10:42:36

标签: html css hyperlink google-analytics

尝试在新窗口中打开链接时,我遇到了一个小但烦人的问题。我已经建立了一个网站,我已经安装了Google Analytics跟踪。我已经跟踪点击到外部网站作为事件,并正确地输入正确的所有跟踪。对于我在target="_blank"中添加的每个链接,但由于某种原因,链接无法在新窗口中打开!有什么我做错了吗?代码如下:

<a onclick="recordOutboundLink(this, 'Outbound Links', 'Link');return false;" href="http://www.mylink.com" target="_blank">Myink</a></span></li>

它与订单有关吗?我似乎无法让它发挥作用!

提前致谢。

这里要求的是记录链接的代码:

<script type="text/javascript">
function recordOutboundLink(link, category, action) {
  try {
    var pageTracker=_gat._getTracker("UA-XXXXXX-XX");
    pageTracker._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100)
  }catch(err){}
}

2 个答案:

答案 0 :(得分:2)

问题是你的recordOutboundLink函数正在使用JavaScript来重定向,而不是让链接执行它的默认操作。如果您希望链接在同一选项卡/窗口中打开,这是正确的行为,因为它使用超时来确保在加载新页面之前将数据发送到GA。要使代码正常工作,您需要使用以下函数:

    <script type="text/javascript">
        function recordOutboundLink(link, category, action) {
            try {
                var pageTracker=_gat._getTracker("UA-XXXXXX-XX");
                pageTracker._trackEvent(category, action);
            }catch(err){}
        }
    </script>

您还需要删除阻止链接执行正常行为的return false位代码:

<a onclick="recordOutboundLink(this, 'Outbound Links', 'Link')" href="http://www.mylink.com" target="_blank">Myink</a>

答案 1 :(得分:0)

document.location表示您正在将当前页面网址更改为另一个网址。另外,您正在使用return false语句,这意味着您正在阻止与链接关联的默认事件。因此,不会检查您的target="_blank"参数。

您需要删除document.locationreturn false语句。然后您的链接将能够按您的意愿行事