Javascript 使用Google Analytics onclick事件进行w3c验证

Javascript 使用Google Analytics onclick事件进行w3c验证,javascript,validation,google-analytics,onclick,event-tracking,Javascript,Validation,Google Analytics,Onclick,Event Tracking,首先,虽然stackOverflow曾经帮助过我很多次,但这是我第一次发布问题。因此,如果我在stackOverflow协议方面做错了什么,请温和一点(我对编码还是新手),并提供任何建议:-) 我的问题: 我正在尝试使用Nu Html检查器验证我的代码,我在许多页面中不断遇到类似问题,但还没有找到解决方案 这与我使用onclick进行谷歌分析事件跟踪的问题有关 下面是我从验证器收到的重复错误消息: 错误:属性之间没有空格 警告:属性;不可序列化为XML 1.0 警告:属性为false;不可序列

首先,虽然stackOverflow曾经帮助过我很多次,但这是我第一次发布问题。因此,如果我在stackOverflow协议方面做错了什么,请温和一点(我对编码还是新手),并提供任何建议:-)

我的问题:

我正在尝试使用Nu Html检查器验证我的代码,我在许多页面中不断遇到类似问题,但还没有找到解决方案

这与我使用onclick进行谷歌分析事件跟踪的问题有关

下面是我从验证器收到的重复错误消息:

  • 错误:属性之间没有空格
  • 警告:属性;不可序列化为XML 1.0
  • 警告:属性为false;不可序列化为XML 1.0
  • 错误:属性;不允许在元素a上使用 在这一点上
  • 错误:不允许在处的元素a上返回属性 这一点
  • 错误:属性为false;此时不允许在元素a上使用 重点
所有这些错误都发生在第174行

以下是我使用的第174行代码:

<h2><b><a href="free.html" onclick="ga('send','event','outbound','click', 'foundations')" target="_self"; return false;>Click Here to Access</a></b> for <b>Free</b>.</h2>
免费。
现在,理论上我知道我可以通过删除
来解决这个问题;返回false
但我担心这会扼杀我在Google Analytics中的事件跟踪(据我所知,你需要
return false;
来欺骗链接点击事件,特别是当它们将你带到外部站点时(其他一些有类似错误的页面也会这样做)

因此:

  • 如何解决这些w3c验证错误
  • 还在跟踪谷歌的分析事件
谢谢你的帮助,
Axel可能更像这样,属性之间没有分号,onclick中没有返回false

<h2><b><a href="free.html" onclick="ga('send','event','outbound','click', 'foundations'); return false" target="_self">Click Here to Access</a></b> for <b>Free</b>.</h2>
免费。

可能更像这样,属性之间没有分号,onclick中的返回值为false

<h2><b><a href="free.html" onclick="ga('send','event','outbound','click', 'foundations'); return false" target="_self">Click Here to Access</a></b> for <b>Free</b>.</h2>
免费。

您使用的是哪种doctype?我想我找到了一个简单的解决方案(这也让我看起来有点愚蠢):我想我可以删除
;返回false;
,一切仍按计划进行。有效的HTML、事件跟踪和链接工作正常。感谢@lucas的回复,在我提出第一个问题后,你让我放心了!我终于有勇气发布一个问题(花了几个小时试图解决这个问题后),这有点傻,并在30分钟内解决了这个问题,完成了我最初说的无法完成的事情:-/谢谢大家!更好的解决方案是根本不使用内联javascript代码,而是通过javascript函数将单击事件处理程序附加到链接上(doctype没有问题,如果您需要更改跟踪中的任何内容,您可以立即更改所有链接)。谢谢@Eikepierstorf,这听起来似乎更可取。我还不知道100%怎么做(我仍处于自学的早期阶段),但我相信谷歌搜索和一两篇教程都能处理。我会试试:-)再次感谢W3schools作为搜索结果出现#1“单击事件处理程序通过javascript函数链接”。再次感谢。你使用的是哪种doctype?我想我找到了一个简单的解决方案(这也让我看起来有点愚蠢):我想我可以删除
;返回false;
,一切仍按计划进行。有效的HTML、事件跟踪和链接工作正常。感谢@lucas的回复,在我提出第一个问题后,你让我放心了!我终于有勇气发布一个问题(花了几个小时试图解决这个问题后),这有点傻,并在30分钟内解决了这个问题,完成了我最初说的无法完成的事情:-/谢谢大家!更好的解决方案是根本不使用内联javascript代码,而是通过javascript函数将单击事件处理程序附加到链接上(doctype没有问题,如果您需要更改跟踪中的任何内容,您可以立即更改所有链接)。谢谢@Eikepierstorf,这听起来似乎更可取。我还不知道100%怎么做(我仍处于自学的早期阶段),但我相信谷歌搜索和一两个教程都能处理。我会试试:-)再次感谢W3schools作为搜索结果出现#1“通过javascript函数单击事件处理程序到链接”。再次感谢。感谢你的回答,@lucas。这三分之二的结果有效……实际上你解决了我问的问题(1)验证是完美的(2)事件被跟踪。但只有一个问题:链接没有引导我进入
free.html
页面,它的行为有点像死链接。您的
return false
似乎阻止了对free.html页面的重定向。您也可以使用此处概述的回调函数:谢谢您的回答,@l这三分之二有效…实际上你解决了我问的问题(1)验证是完美的(2)事件被跟踪。但只有一个问题:链接没有引导我进入
free.html
页面,它有点像死链接。您的
return false
似乎阻止了对free.html页面的重定向。您也可以使用如下所述的回调函数: