我正在研究这个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>
答案 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'))