谷歌Analytics(分析):外部js文件

问题描述:

确认一下...谷歌Analytics(分析):外部js文件

文件:google.js

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 { 
var pageTracker = _gat._getTracker("UA-11510668-1"); 
pageTracker._trackPageview(); 
} catch(err) {} 

然后像文件链接:

<script src="google.js" language="javascript" type="text/javascript"></script> 

这一工程, 对?

+1

做一下,看看:) – Matchu 2010-03-02 14:39:59

+0

是的,但后来我需要等待一天,看看它的实际工作... – n00b 2010-03-02 14:41:42

+0

我只是测试这一点,它似乎罚款(见编辑我原来的答案) – 2010-03-02 14:51:57

将该脚本添加到您的页面,然后如果您使用FireFox w/FireBug(或其他调试器)或Chrome,则可以检查元素以查看写入页面的内容。如果你看到...

<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script> 

...那么你应该很好去!

+0

好吧好东西...似乎工作!谢谢! – n00b 2010-03-02 14:55:54

我想不出它不会的原因。

你有没有试过它,遇到过任何问题?

编辑:我只是试过这个,并检查它在萤火虫,据我所知,第二个脚本标签写入正确。

这应该工作。

+0

我不能现在告诉,因为谷歌需要一天才能更新统计信息。 – n00b 2010-03-02 14:41:11

我认为你仍然需要以某种方式执行该脚本。如果你只是包含它,那么它将不会被执行。如果你把它包装函数里面:

function googleCode(){ 
// google code goes here 
} 

那么你可以使用jQuery和执行它时,页面完全加载

$(document).ready(function() { 
      googleCode(); 
     }); 

只是一个想法。

+2

这实际上并非如此。 – devlord 2012-11-01 01:25:34

+1

这实际上会减慢GA。 Google Analytics的设计大多数情况下会在页面加载时运行,例如JavaScript文件的顶层或

+0

它的只是JavaScript代码,不在函数中,因此只要脚本文件下载,它就会在解析完成后立即运行。所以不需要调用任何东西,它是多余的。当我们做另一个HTTP请求时,只有使用外部脚本的问题会稍微延迟。但你可以缓存文件,所以它应该只是一个问题,第一次加载一个空的缓存,即使那么它的最小值,不值得放松睡眠:) – 2013-01-18 13:31:32

My testing表明这是有效的。

提供的示例页面在外部脚本中运行document.write(),然后还运行document.write()以打印出另一个脚本标记,以确保该功能也可以正常工作。我在所测试的所有浏览器上都获得了预期输出(两行文本),包括Internet Explorer(甚至6个),Firefox,Safari和Chrome。

我认为他们只是说要做到内联,因为他们认为这对新手来说更容易。

你应该没问题。

+0

感谢您测试其他浏览器! – n00b 2010-03-02 14:58:24

+0

很高兴你终于让我做到了。如果我最终失去了所有IE浏览器的流量,或者当这个项目上线时会感到不适。 – Matchu 2010-03-02 14:59:59