Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google Analytics-阻止HTML/页面呈现_Javascript_Html_Rendering_Google Analytics_Blocking - Fatal编程技术网

Javascript Google Analytics-阻止HTML/页面呈现

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,这样它就不会阻止HTML/页面呈现

但是,有时我的HTML页面似乎会阻止Firefox 3.0(WinXP)状态消息状态的呈现:

从www.google-analytics.com传输数据


关于如何加载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月发布的最新缓存版本的链接,仅供参考-此代码已过时。谷歌发布了一个最新消息:截至该评论发表之日,答案看起来与谷歌的跟踪片段相似。