К сожалению, это не может быть допустимым вопросом Code-Golf, так как это скорее всего Javascript; однако, поскольку это, вероятно, будет единственным полезным в мире кодексом для гольфа с кодами. Я собираюсь пойти и опубликовать его.
Фрагмент Google Analytics Asyncronous Tracking используется многими веб-сайтами.
script выглядит примерно так:
<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 (aka zlib) и RAW DEFLATE) байтом, который будет загружать и инициализировать Async Google Analytics на странице.
В случае галстука победитель будет определяться по счету сырого символа. Если у нас все еще есть галстук, мы решим по последнему редактированию/времени.
Некоторые правила:
- Проверка
gaq || []
не требуется и должна быть удалена. - должен быть "осведомлен" о протоколе (http vs https).
- не должно загрязнять глобальное пространство имен (кроме
_gaq
var). - должен быть скопирован в любой (X) HTML-документ, т.е. не зависит от разметки страницы.
- должен работать во всех браузерах A-класса.
- Это означает, что НЕ должен передавать JSLINT или любые проверки HTML.
- должен установить флаг
async
. - должен использовать этот дефлятор для подсчета байтов результата, сбрасываемого с дефлятом.
Совет:
- Понимать основы алгоритма DEFLATE. И что еще более важно, сжатие LZ77.
UDPATE 216/275
Так как моя оригинальная версия была избита, я отправлю ее сюда:
Примечание. У этого есть ошибка, в которой async получает значение false для всех запросов "http"
(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")