Javascript Google Analytics-阻止HTML/页面呈现
我使用“”动态加载Google Analytics,这样它就不会阻止HTML/页面呈现 但是,有时我的HTML页面似乎会阻止Firefox 3.0(WinXP)状态消息状态的呈现: “从www.google-analytics.com传输数据”Javascript Google Analytics-阻止HTML/页面呈现,javascript,html,rendering,google-analytics,blocking,Javascript,Html,Rendering,Google Analytics,Blocking,我使用“”动态加载Google Analytics,这样它就不会阻止HTML/页面呈现 但是,有时我的HTML页面似乎会阻止Firefox 3.0(WinXP)状态消息状态的呈现: “从www.google-analytics.com传输数据” 关于如何加载Google Analytics JavaScript,使其不会阻止HTML/页面呈现,您有什么想法吗?将Google Analytics代码作为标记之前的最后一件事,就像Google推荐的那样?但它位于底部(就在前面),并延迟它: <
关于如何加载Google Analytics JavaScript,使其不会阻止HTML/页面呈现,您有什么想法吗?将Google Analytics代码作为
标记之前的最后一件事,就像Google推荐的那样?但它位于底部(就在前面),并延迟它:
<script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script>
<script type="text/javascript">
if (typeof(_gat)=='object')
setTimeout(function(){
_gat._getTracker("UA-1234567-8")._trackPageview()}, 1500);
</script>
if(typeof(_gat)=='object')
setTimeout(函数(){
_gat._getTracker(“UA-1234567-8”)。_trackPageview()},1500);
看看我的解释,为什么我认为这是“延迟属性可能适合您
<script DEFER type="text/javascript" src="http://www.google-analytics.com/ga.js">
<script DEFER type="text/javascript">... tracker code ...</script>
…跟踪器代码。。。
您可以使用Google Analytics[异步加载跟踪代码][1]。以下代码片段应该会有所帮助:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
var _gaq=_gaq | |[];
_gaq推送(['''u setAccount','UA-XXXXX-X']);
_gaq.push([''u trackPageview']);
(功能(){
var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;
ga.src=('https:'==document.location.protocol?'https://ssl' : 'http://www“)+”.google analytics.com/ga.js';
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);
})();
您可能看到了这个bug。在3.6之前,FF有时会错误地指责谷歌分析降低了页面速度
我有,如果您从lyncd.com文章代码中注意到,它会动态地将JS加载到head元素中。好的。当您看到“从www.google-analytics.com传输数据”时“消息,您的页面上是否有任何内容实际上被阻止呈现,或者该页面似乎已完成,而没有显示该消息?当我看到该消息时,该页面在呈现页面时有明显的阻止。我有一个JS,它将一些DIV显示从“none”变为“block”,但代码没有出现,因为页面被困在了这个“从www.google-analytics.com传输数据”的页面上。嗯,您可以尝试安排在页面加载后在短时间内添加脚本;这至少会让其他立即挂起的操作在等待分析之前运行。如果这不起作用或不可行,您可能必须找到一种使用AJAX提取分析脚本的方法,这似乎有点挑战性。它使用脚本标记的async属性。我认为FF3.0不支持它。文章链接已断开。以下是2014年4月发布的最新缓存版本的链接,仅供参考-此代码已过时。谷歌发布了一个最新消息:截至该评论发表之日,答案看起来与谷歌的跟踪片段相似。