javascript代码制作url链接undefined

时间:2012-12-03 13:05:19

标签: javascript

我正在研究这个javascript代码,什么时候进入头脑,我刷新它进入404页面。

请有人帮忙。

<script type="text/javascript">
function recordOutboundLink(link, category, action) {
    try {
        var myTracker = _gat._getTrackerByName();
        _gaq.push(['myTracker._trackEvent', category, action]);
        setTimeout('document.location = "' + link.href + '"', 100)
    } catch (err) { }
}
$(document).ready(function () { $('#myid').click(recordOutboundLink(this, 'regular   xxxxx', 'xxxx.example.com')); });
 </script>

2 个答案:

答案 0 :(得分:3)

您尝试将recordOutboundLink()的结果注册为点击处理程序,导致该函数首先运行,将window.href评估为要重定向的页面。 window.href的值通常为undefined,因此浏览器会尝试重定向到http://undefined或类似内容。

相反,您应该只在点击某些内容时执行该功能,如下所示:

$(document).ready(function () { 
    $('#myid').click(function() {
        recordOutboundLink(this, 'regular   xxxxx', 'http://xxxx.example.com');
        return false;
    });

我相信Google文档会提到这样的内容:

<a href="bla bla" onclick="recordOutboundLink(this, 'regular crap', 'http://www.example.com'); return false;">tada click me</a>

修改

您的位置应始终为绝对位置,即以http://https:////开头。

答案 1 :(得分:1)

您需要将完整的网址传递给方法,即使用http://部分

所以要么使用:

.click(recordOutboundLink(this, 'regular   xxxxx', 'http://xxxx.example.com'))

.click(recordOutboundLink(this, 'regular   xxxxx', '//xxxx.example.com'))