Dav*_*och 18 javascript google-analytics code-golf
不幸的是,这可能不是一个有效的Code-Golf问题,因为它可能只是Javascript; 然而,由于 这可能是现实世界中唯一有用的代码 - 高尔夫比赛, 我将继续发布它.
在谷歌Analytics(分析)Asyncronous跟踪片段被许多网站使用.
脚本有点像这样:
<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>
Run Code Online (Sandbox Code Playgroud)
获胜者将通过最短RAW DEFLATE被确定(有是 HTTP 1.1 DEFLATE(又名ZLIB)和RAW DEFLATE之间的差)由字节数压缩代码将加载和在页面上初始化异步谷歌分析.
在平局的情况下,获胜者将由原始字符数确定.如果我们还有领带,我们将根据提交的最后编辑/时间来决定.
一些规则:
gaq || []
检查是不需要的,应该被删除._gaq
var 除外).async
标志.小费:
由于我的原始版本已被打败,我将继续并在此处发布:
注意:这有一个错误,其中所有"http"请求的异步设置为false
(function(d,t,g){_gaq=[["_setAccount","UA-XXXXX-X"],["_trackPageview"]];g=d.createElement(t);g.src=(g.async=location.protocol[5]?"//ssl":"//www")+".google-analytics.com/ga.js";(t=d.getElementsByTagName(t)[0]).parentNode.insertBefore(g,t)})(document,"script")
Run Code Online (Sandbox Code Playgroud)
更新了在FF3.6,Opera10,Chrome6,MSIE8中测试的版本:
194/270:使用异步,缓存getElementsByTagName
(_gaq=document.createElement("script")).src=(/^....s/.test(location)?"//ssl":"//www")+".google-analytics.com/ga.js",(_gaq.a=_gaq.async=document.getElementsByTagName("script")[0]).parentNode.insertBefore(_gaq,_gaq.a),_gaq=[["_setAccount","UA-XXXXX-X"],["_trackPageview"]]
Run Code Online (Sandbox Code Playgroud)
192/297:使用异步,没有缓存
(_gaq=document.createElement('script')).src=(/^....s/.test(location)?'//ssl':'//www')+'.google-analytics.com/ga.js',_gaq.async=document.getElementsByTagName('script')[0].parentNode.insertBefore(_gaq,document.getElementsByTagName('script')[0]),_gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]
Run Code Online (Sandbox Code Playgroud)
189/259:没有异步,缓存了getElementsByTagName
(_gaq=document.createElement('script')).src=(/^....s/.test(location)?'//ssl':'//www')+'.google-analytics.com/ga.js',(_gaq.a=document.getElementsByTagName('script')[0]).parentNode.insertBefore(_gaq,_gaq.a),_gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]
Run Code Online (Sandbox Code Playgroud)
188/286:没有异步,没有缓存
(_gaq=document.createElement('script')).src=(/^....s/.test(location)?'//ssl':'//www')+'.google-analytics.com/ga.js',document.getElementsByTagName('script')[0].parentNode.insertBefore(_gaq,document.getElementsByTagName('script')[0]),_gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]
Run Code Online (Sandbox Code Playgroud)
184/242,没有async,appendChild(不需要缓存),如果它在任何地方都受支持,则不知道
(_gaq=document.createElement('script')).src=(/^....s/.test(location)?'//ssl':'//www')+'.google-analytics.com/ga.js',document.getElementsByTagName('script')[0].parentNode.appendChild(_gaq),_gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]
Run Code Online (Sandbox Code Playgroud)
积分:
type="text/javascript"
此外,如果您使用"引用标记属性" ,更改'
为"
可以改进HTML源中的压缩"
.
有关更多信息,请参阅此帖子的评论
由于这篇文章现在是社区维基和接受的答案,我删除了我的第一次尝试(如果您感兴趣,可以在修订历史中找到它们)并且只能看到最新版本.有关详细信息,请参阅此帖子中的评论./ 一些
归档时间: |
|
查看次数: |
4288 次 |
最近记录: |