1

这可能是一个非常简单的问题,希望有一个简单的答案。我正在使用 CMS (TeamSite) 并尝试将 Google Analytics 添加到站点。问题是,由于 CMS 生成 HTML,我无法</head>按照 Google 告诉您的那样在结束标记之前添加 Google Analytics 代码。</body>将 GA 添加到您的网站的另一种方法是在结束标记之前添加一些 JavaScript 。现在我已经这样做了,但 TeamSite 似乎在 JavaScript 周围放置了 HTML 注释。现在听起来不像个傻瓜,这是否意味着浏览器会忽略 JavaScript 而不执行它?代码如下:

<script type="text/javascript"><!--
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try{
// --></script>
<script type="text/javascript"><!--
var pageTracker = _gat._getTracker("UA-20657322-12");
pageTracker._trackPageview();
} catch(err) {}
// --></script>

我是否有另一种方法可以将 GA 添加到站点,而无需从生产服务器获取文件并在结束</head>标记之前手动添加脚本?任何帮助将非常感激。

谢谢

4

2 回答 2

2

如果 HTML 注释标签插入到您的 and 标签之前和之后,Javascript 将不会运行。如果它在脚本标签内,一切都应该正常工作。

你自己看:

<html>
<head><title>test</title></head>
<body>

<script>
alert('not commented');
</script>

<!--
<script>
alert('outside commented');
</script>
-->

<script>
//<!--
alert('inside commented');
//-->
</script>

</body></html>

第一个和第三个警报将触发,但第二个不会。就像我下面提到的海报一样,这与向后兼容性有关,因此不支持 Javascript 的旧浏览器不会感到困惑。

于 2011-01-24T12:07:32.907 回答
0

在脚本块中,HTML 注释的处理方式略有不同。在脚本块单行注释中。

这样做的原因是,在不知道脚本标签的真正旧浏览器中,您可以使用这种标记,如果它不理解脚本标签,它就不会将 javascript 呈现到页面(因为它认为它在注释),如果它确实理解脚本标签,它只会将开头的标签视为单行注释,然后通常使用 // 将结束标签标记为注释。

所以总而言之,这些评论标签不应该给你带来我可以看到的问题。

脚本没有在您的页面上运行,您只是不确定问题出在哪里吗?坚持“警报('test');” 进入该块应该允许您确认它正在运行。

于 2011-01-24T12:06:35.507 回答