Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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
合并与Google Universal Analytics相关的3个javascript块是否会显著提高/减少页面加载时间?_Javascript_Google Analytics - Fatal编程技术网

合并与Google Universal Analytics相关的3个javascript块是否会显著提高/减少页面加载时间?

合并与Google Universal Analytics相关的3个javascript块是否会显著提高/减少页面加载时间?,javascript,google-analytics,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

我的理解是,优化后的网页应该包含尽可能少的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>

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

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

而且,将单独的脚本组合在一起,每个脚本都在外部加载JS文件,这不是您所拥有的,可以在页面加载时间上产生有意义的变化,因为通过internet下载或从缓存中查找和加载的资源更少。这可能就是你的理解来源


但是,将多个内联脚本标记组合到一个脚本标记中可能不会引起注意,因为它不会影响任何类型的外部加载时间,而只影响您可能保存的两个字节的下载,这些字节本身可能不会引起注意。

谢谢;为了确认以备将来参考,我基本上可以通过删除除第一个和最后一个之外的所有脚本标记来将脚本标记组合在一起?最后,我如何确保这些新组合的以及任何潜在的未来内联脚本标记不会相互干扰?@user3299651-是的,请确认组合。单独的脚本标记不能提供抗干扰保护。脚本标记中顶部作用域中声明的所有变量或函数也可用于任何其他脚本。我能想到的与单独脚本不同的唯一一件事是,如果一个脚本在初始化时抛出异常,它不会停止其他脚本标记的执行,但是如果它们都在一个脚本标记中,它会停止它们。但是,假设在初始化过程中没有抛出任何未捕获的异常,这应该不是问题。