使url链接未定义的javascript代码
我正在编写这个javascript代码,当它出现在头部时,我刷新它,它就会出现在404页面上 请找个人帮忙使url链接未定义的javascript代码,javascript,Javascript,我正在编写这个javascript代码,当它出现在头部时,我刷新它,它就会出现在404页面上 请找个人帮忙 <script type="text/javascript"> function recordOutboundLink(link, category, action) { try { var myTracker = _gat._getTrackerByName(); _gaq.push(['myTracker._trackEvent',
<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>
函数recordOutboundLink(链接、类别、操作){
试一试{
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent',category,action]);
setTimeout('document.location=“”+link.href+'”,100)
}捕获(错误){}
}
$(document).ready(函数(){$('#myid')。单击(recordOutboundLink(这是'regular xxxxx','xxxx.example.com');});
您试图将recordOutboundLink()
的结果注册为单击处理程序,导致函数首先运行,将window.href
计算为要重定向到的页面。window.href
的值通常是未定义的
,因此浏览器将尝试重定向到http://undefined
或类似内容
相反,您应该仅在单击某个对象时执行该函数,如下所示:
$(document).ready(function () {
$('#myid').click(function() {
recordOutboundLink(this, 'regular xxxxx', 'http://xxxx.example.com');
return false;
});
我相信谷歌文档提到了这样的事情:
<a href="bla bla" onclick="recordOutboundLink(this, 'regular crap', 'http://www.example.com'); return false;">tada click me</a>
编辑
您的位置应该始终是绝对的,即从
http://
,https://
开始,或者简单地说是/
,您试图将recordOutboundLink()
的结果注册为单击处理程序,导致函数首先运行,将window.href
作为要重定向到的页面进行计算。window.href
的值通常是未定义的
,因此浏览器将尝试重定向到http://undefined
或类似内容
相反,您应该仅在单击某个对象时执行该函数,如下所示:
$(document).ready(function () {
$('#myid').click(function() {
recordOutboundLink(this, 'regular xxxxx', 'http://xxxx.example.com');
return false;
});
我相信谷歌文档提到了这样的事情:
<a href="bla bla" onclick="recordOutboundLink(this, 'regular crap', 'http://www.example.com'); return false;">tada click me</a>
编辑
您的位置应该始终是绝对的,即从
http://
,https://
开始,或者简单地说是//
,您需要将完整的url传递给该方法,即使用http://
部分
因此,要么使用:
.click(recordOutboundLink(this, 'regular xxxxx', 'http://xxxx.example.com'))
或
您需要将完整的url传递给该方法,即使用
http://
部分
因此,要么使用:
.click(recordOutboundLink(this, 'regular xxxxx', 'http://xxxx.example.com'))
或
谢谢杰克,我不能编辑这个特定问题的HTML(cms插件),所以我只能访问头部的JS。Thanks@jelly46您更改已接受答案的原因是什么?这不管用吗?谢谢杰克,我不能编辑这个特定问题的HTML(cms插件),所以我只能访问头部的JS。Thanks@jelly46您更改已接受答案的原因是什么?这不管用吗?你好,谢谢你,我做了,但我仍然遇到同样的问题。你好,谢谢你,我做了,但我仍然遇到同样的问题。