Внешние счетчики и скорость.
Posted: Fri Oct 10, 2008 10:46 am
Иногда для того чтобы учавствовать в каком нибудь рейтинге и получать робота нужно ставить счетчик.
Например я учавствую в рейтинге Rambler для того чтобы рамблербот индексировал мой ресурс, т.к. он не в русской зоне. А также использую статистику Liveinternet т.к. там красивые графики
.
И я заметил одну вещь. Допустим посетитель пришел с ограниченным каналом - т.е. у него злой админ вырубил Рамблер. Что получит такой посетитель? Он получит ожидание - пока счетчик Рамблера проверит Рамблер и выдаст отрицательный результат 404.
И я придумал такую фишку, но не знаю точно будет ли она корректно считать статистику.
Кстати этот метод можно использовать тем кто использует на своих сайтах какие то вызовы внешних скриптов (например видео с ютуба
, т.к. метод позволят асинхронно загружать данные.
1. Выносим все коды счетчиков в блок контента {global_content name='CounterCode'} например так:
Заключение в {literal} обязательно, также как и отсутсвтие концов(переводов) строк!
2. Выносим логотипы в другой блок {global_content name='CounterLogo'} аналогичным методом.
3. Я дико извиняюсь, но я использую jQuery а встроенный фрэймворк CMS MS это - Prototype, и я не знаю есть ли там такая фишка(http://docs.jquery.com/Ajax/jQuery.getScript).
Короче я вызываю блок {global_content name='CounterCode'} таким вот хитрым способом (ниже кусок кода из шаблона по умолчанию):
И о чудо. Страница не тупит, т.к. мухи (движок CMS) отдельно, а котлеты (внешние скрипты) отдельно. Единственное что будет резать глаза это то что что то еще загружается после того как страница выдана в браузер.
В результате получаю:
Теоретически мы все равно вызываем скрипт открывая страницу, а значит статистика должна сработать. Практически я не знаю, и надеюсь что сработает.
Кто что думает по этому поводу?
Например я учавствую в рейтинге Rambler для того чтобы рамблербот индексировал мой ресурс, т.к. он не в русской зоне. А также использую статистику Liveinternet т.к. там красивые графики

И я заметил одну вещь. Допустим посетитель пришел с ограниченным каналом - т.е. у него злой админ вырубил Рамблер. Что получит такой посетитель? Он получит ожидание - пока счетчик Рамблера проверит Рамблер и выдаст отрицательный результат 404.
И я придумал такую фишку, но не знаю точно будет ли она корректно считать статистику.
Кстати этот метод можно использовать тем кто использует на своих сайтах какие то вызовы внешних скриптов (например видео с ютуба

1. Выносим все коды счетчиков в блок контента {global_content name='CounterCode'} например так:
Code: Select all
{literal}<!--LiveInternet counter--><__script__ type="text/javascript"><!--document.write(.......)<!-- end of Top100 code -->{/literal}
2. Выносим логотипы в другой блок {global_content name='CounterLogo'} аналогичным методом.
3. Я дико извиняюсь, но я использую jQuery а встроенный фрэймворк CMS MS это - Prototype, и я не знаю есть ли там такая фишка(http://docs.jquery.com/Ajax/jQuery.getScript).
Короче я вызываю блок {global_content name='CounterCode'} таким вот хитрым способом (ниже кусок кода из шаблона по умолчанию):
Code: Select all
</head>
</__body>
{literal}
<__script__ type="text/javascript">
$(window).load(function (){
$.getScript("{global_content name='CounterCode'}");
});
</__script>
{/literal}
{strip}
<div id="container">
<div id="header">
В результате получаю:
Code: Select all
GET http://...../myscript.js?_=1223634474798
http://...../myscript.js?_=1223634474798 296ms jquery.js (line 29)
GET http://www.mysite.org/%7Bglobal_content%20name=%27CounterCode%27%7D?_=1223634495818
http://www.mysite.org/%7Bglobal_content%20name=%27CounterCode%27%7D?_=1223634495818 371ms jquery.js (line 29)
GET http://www.mysite.org/%7bglobal_content%20name=%27CounterCode%27%7d/?_=1223634495818
http://www.mysite.org/%7bglobal_content%20name=%27CounterCode%27%7d/?_=1223634495818 404 543ms
Кто что думает по этому поводу?