Внешние счетчики и скорость.

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
User avatar
Il_Burbero
Forum Members
Forum Members
Posts: 128
Joined: Tue Apr 15, 2008 10:36 am

Внешние счетчики и скорость.

Post by Il_Burbero »

Иногда для того чтобы учавствовать в каком нибудь рейтинге и получать робота нужно ставить счетчик.
Например я учавствую в рейтинге 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}
Заключение в {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">
И о чудо. Страница не тупит, т.к. мухи (движок CMS) отдельно, а котлеты (внешние скрипты) отдельно. Единственное что будет резать глаза это то что что то еще загружается после того как страница выдана в браузер.
В результате получаю:

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	
Теоретически мы все равно вызываем скрипт открывая страницу, а значит статистика должна сработать.  Практически я не знаю, и надеюсь что сработает.
Кто что думает по этому поводу?
Last edited by Il_Burbero on Fri Oct 10, 2008 10:49 am, edited 1 time in total.
Post Reply

Return to “Russian - русский”