gpt4 book ai didi

javascript - 异步谷歌分析 [Javascript 高尔夫]

转载 作者:行者123 更新时间:2023-12-03 13:33:14 25 4
gpt4 key购买 nike

不幸的是,这可能不是一个有效的 Code-Golf 问题,因为它可能只是 Javascript;然而,自从 这可能是唯一在现实世界中有用的 Code Golf 比赛我将继续发布它。

Google Analytics Asyncronous Tracking片段被许多网站使用。

脚本有点像这样:

<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>

获胜者将由最短的 RAW DEFLATE(HTTP 1.1 DEFLATE(又名 zlib)和 RAW DEFLATE 之间存在差异)按字节数压缩的代码决定,它将在页面上加载和初始化 Async Google Analytics。

在平局的情况下,获胜者将由原始字符数决定。如果我们仍然有平局,我们将根据最后一次编辑/提交时间来决定。

一些规则:
  • gaq || [] check 不是必需的,应该删除。
  • 必须是协议(protocol)“感知”(http vs https)。
  • 不得污染全局命名空间(_gaq var 除外)。
  • 必须可复制粘贴到任何 (X)HTML 文档,即不依赖于页面的标记。
  • 必须全部工作A-Grade browsers .
  • 这是不是 必须通过 JSLINT 或任何 HTML 验证器。
  • 必须设置 async旗帜。
  • 必须使用 this deflator用于放气压缩输出的字节数。

  • 小费:
  • 了解 DEFLATE algorithm 的基础知识.更重要的是,LZ77 压缩。



  • UDPATE 216/275

    由于我的原始版本已被击败,我将继续并将其发布在这里:
    注意:这有一个错误,即所有“http”请求的 async 都设置为 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")

    最佳答案

    更新了在 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"]]

    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']]

    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']]

    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']]

    184/242 , 没有异步, 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']]

    学分 :
  • casablanca :/^https/.test(位置)
  • matyr : 相对路径,语句之间的逗号,异步赋值
  • some : 没有匿名函数和_gaq 的使用,getElementsByTagName 的非缓存,异步的移动分配,/^..s/
  • David Murdoch掉落type="text/javascript"

  • 此外,更改 '"如果您使用 ",可能会提高 HTML 源代码的压缩率"引用标签属性。

    有关更多信息,请参阅此帖子的评论

    由于这篇文章现在是社区 wiki 并且被接受的答案,我删除了我的第一次尝试(如果你有兴趣,你可以在修订历史中找到它们)并且只看到最新的修订。有关更多信息,请参阅此帖子的评论。/ some

    关于javascript - 异步谷歌分析 [Javascript 高尔夫],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3961810/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com