将与Google Universal Analytics相关的3个javascript块组合在一起可以显着改善/减少页面加载时间吗?

时间:2014-08-23 02:40:25

标签: javascript google-analytics

我的理解是,优化的网页应该包含尽可能少的javascript块,以改善/减少页面加载时间。

是否可以合并以下3个区块,每个区块通过Google Analytics(分析)测量不同的事件,A),以及B)在减少/改善页面加载时间方面产生任何有意义的影响?

<script>
   (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
   (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
   m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
   })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-XXXXXX-X', 'auto');
  ga('require', 'displayfeatures');
  ga('require', 'linkid', 'linkid.js');
  ga('send', 'pageview');

</script>


<script language="javascript">

EventNONInteraction = true;
Frequency = 4; 
GA_EventCategory = 'category2'; 
GA_EventAction = 'down'; //

_frequency = Frequency;
_repentance = 100 / Frequency;
var _scrollMatrix = new Array();
for (ix = 0; ix < _repentance; ix++) {
    _scrollMatrix[ix] = [_frequency, 'false'];
    _frequency = Frequency + _frequency;
}
$(document).scroll(function (e) {
    for (iz = 0; iz < _scrollMatrix.length; iz++) {
        if (($(window).scrollTop() + $(window).height() >= $(document).height() * _scrollMatrix[iz][0] / 100)  && (_scrollMatrix[iz][1]== 'false')) {
            _scrollMatrix[iz][1] = 'true';
            ga('send', 'event', GA_EventCategory, GA_EventAction, _scrollMatrix[iz][0]+'%', {'nonInteraction': EventNONInteraction});  
        }
    }
});
</script>


<script language="javascript">

if (document.referrer.match(/google\./gi) && document.referrer.match(/cd/gi)) {
  var myString = document.referrer;
  var r        = myString.match(/cd=(.*?)&/);
  var rank     = parseInt(r[1]);
  var kw       = myString.match(/q=(.*?)&/);

  if (kw[1].length > 0) {
    var keyWord  = decodeURI(kw[1]);
  } else {
    keyWord = "(not provided)";
  }

  var p        = document.location.pathname;
  _gaq.push(['_trackEvent', 'RankTracker', keyWord, p, rank, true]);
}
</script>

如果两者都是,我如何正确组合块?

1 个答案:

答案 0 :(得分:0)

组合这三个内联脚本标签当然是可能的。只需将代码全部粘贴到一个脚本标记中,而不是三个单独的标记。

并且,组合各自外部加载JS文件的单独脚本(这不是你拥有的)可以在页面加载时间上产生有意义的差异,因为通过互联网下载或查找和加载的资源较少缓存。这可能是你理解的来源。

但是,将多个内联脚本标记组合到一个脚本标记中可能甚至不会引人注意,因为它不会影响任何类型的外部加载时间,除了您可能节省的几个字节的下载(这本身可能并不明显)。