www.qjdy.com-奇迹赌场 > www.qjdy.com官网 > 可是ga自动生成的这段JS真的就是最合理的吗

原标题:可是ga自动生成的这段JS真的就是最合理的吗

浏览次数:196 时间:2019-09-06

登记ga后,ga就能够生成一段js脚本,很几个人平素把这段js复制到<body>的末尾面就完结(包蕴天涯论坛、CSDN、BlogJava)。不过ga自动生成的这段JS真的就是最合理的吧?

哪如何才总算合理,如何才是不制造了?因ga只是1个深入分析工具,它的利用相对化不可能影响到大家的次第,借使影响了,则是不客观的。不影响则是有理的。

目前ga的使用:
先看看ga自动生成的js脚本,如下: 

复制代码 代码如下:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "." : ".");
document.write(unescape(""));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-123456-1");
pageTracker._trackPageview();
} catch(err) {}</script>

看这段代码,使用document.write来加载JS,注意了,那样加载js是阻塞加载的,正是其一js没加载完,后边的装有财富和JS都不能够下载和实行。可能您会觉的这段代码在body的最前面,后没已经没内容,没什么会堵塞的了。
再有部分您忽视了,相信广大人在写JS的时候必要在页面加载完结后试行一些JS或AJAX,一般写在window.onload 事件,或然写入jquery的$(document).ready()方法中。这么些JS就能够被打断。如若大家的页面上多好些个码在window.onload中利用AJAX加载,而偏偏这一年ga因为有些原因(和睦护医疗煦)不能够访问,大概访问比很慢的时候。难点就来,我们和好的JS平素在等待ga的JS加载完,独有等ga的js加载超时后才会实行我们的JS。

实例:
下边包车型地铁代码应用jquery在document.ready发送1个ajax央求(央浼126.com)。测量检验前修改host文件,让ga的js无法加载:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";

复制代码 代码如下:

<html xmlns=";
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src=";
<script type="text/javascript">
$(document).ready(function(){
$.get("");
});
</script>
</head>
<body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "." : ".");
document.write(unescape(""));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-123456-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>

监控图:
图片 1
上海教室能够看来ga加载不了,在20秒超时后,才实践大家的ajax央浼,大家的ajax须求才花0.173s,但却等了20s。
客观采纳ga:

要客观利用ga,供给消除2个难点:

  1. 哪些非加载ga的js,
  2. 怎么在ga的ja加载实现后及时实施 var pageTracker = _gat._getTracker("UA-123456-1");pageTracker._trackPageview(); 代码。

非阻塞加载js的主意,重要有2种:

  1. 动态成立<script标签
    2.利用new Image().src="", 这种方法只会下载JS,而不会分析JS。所以用那个加载js后,里面包车型地铁函数也不能够调用(这种措施一般用于预加载)。

完善后的代码:

复制代码 代码如下:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "." : ".");
var head = document.getElementsByTagName("head")[0] || document.documentElement;
var script = document.createElement("script");
script.src = gaJsHost "google-analytics.com/ga.js";

var done = false; // 制止onload,onreadystatechange同期实践
// 加载达成后举办,适应全体浏览器
script.onload = script.onreadystatechange = function() {
if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){
done = true;
try {
var pageTracker = _gat._getTracker("UA-123456-16");
pageTracker._trackPageview();
} catch(err) {}
script.onload = script.onreadystatechange = null;
}
};
head.insertBefore(script,head.firstChild);
</script>

地点代码修改自jquery的ajax代码。下边代码很轻松驾驭,动态创造script来加载js,通过onload,或 onreadystatechange 事件来加载达成后进行代码。

 

 代码修改达成后再监督检查测量试验如下;

 图片 2

 

 图中看出ga照样加载了20s,但大家的ajax必要并不曾等20s后才实施,而是立刻实践了。

jquery 加载ga:

    或许你觉的方面包车型地铁代码写的可比多,相比较繁琐,固然您用jquery的话,能够简化成上边这样:

复制代码 代码如下:

var gaJsHost = (("https:" == document.location.protocol) ? "." : ".");
$.getScript(gaJsHost "google-analytics.com/ga.js",function(){
try {
var pageTracker = _gat._getTracker("UA-123456-16");
pageTracker._trackPageview();
} catch(err) {}
});

有须要请查看:高质量WEB开采连串

[声明] 转发请注解出处: 禁止商用!

博客园、CSDN、BlogJava)。然则ga自动生成的这段JS真的就...

本文由www.qjdy.com-奇迹赌场发布于www.qjdy.com官网,转载请注明出处:可是ga自动生成的这段JS真的就是最合理的吗

关键词: mg4355娱乐平台

上一篇:里边有当前版本和历史版本的下载

下一篇:没有了