Последнее обновление:
Исправляем код счетчика LiveInternet с проверкой на валидность для стандарта XHTML
Что такое счетчик
LiveInternet, наверное, объяснять не нужно. Он
устанавливается на страницы
сайтов для того, чтобы можно было видеть статистику их посещения. В
частности, этот счетчик показывает число просмотром (цифры сверху) и
посетителей (цифры снизу).
Счетчик можно получить на сайте LiveInternet.ru,
предварительно
зарегистрировав там свой сайт. Код счетчика выглядит следующим образом:
><!--LiveInternet
counter-->
<script
type="text/javascript">
document.write("<a
href='http://www.liveinternet.ru/click'
target=_blank><img src='//counter.yadro.ru/hit?t29.6;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?""
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt=''
title='LiveInternet: показано количество просмотров и"+
" посетителей' "+
"border='0'
width='88' height='120'/></a>")
</script>
<!--/LiveInternet-->
Одно время на
нашем сайте использовался
подобный счетчик
LiveInternet.ru без каких либо проблем, правда, доктайп
(стандарт)
тогда был html1.0. Однако, когда решено было перейти на более строгий
доктайп XHTML 1.0 Transitional и сайт
стал проверяться на валидаторе,
были обнаружены ошибки в коде счетчика
LiveInternet.ru. Главным образом, они были связаны, как
выяснилось, с
функцией document.write( ), которая в стандарте XHTML не описывается и
не применяется (что вызвано тем фактом, чтобы посредством этой функции
разработчики не вставляли на сайты разный невалидный код в виде
некорректно работающих скриптов).
У нас появилось желание сделать код счетчика валидным. Конечно, как сам
счетчик LiveInternet.ru, так и весь наш сайт даже и при невалидном коде
функционирует отлично. Однако, хотелось сделать, чтобы код этого
счетчика соответствовал стандартам. Такое вот настоятельное желание
возникло.
Попытка обратиться в службу поддержки сайта LiveInternet.ru не получилась: результатом такой попытки было абсолютное молчание. Но, к счастью, попался один сайт (и только один, как ни парадоксально),
владелец которого столкнулся с той же самой проблемой и, в отличие от
остальных, успешно ее решил http://mr-ozio.ru/t/w3c,
т.е. сделал
валидный код счетчика LiveInternet.ru. Как оказалось,
все достаточно
просто. Надо было всего лишь при кастомизации кода счётчика выбрать
пункт “отдельный код для логотипа и для счётчика”,
а на сайт вставить их друг за другом, или даже вообще в разных местах.
Попытка кастомизировать новый код счетчика с учетом указанной
раздельности не увенчалась успехом, так как LiveInternet.ru сообщил,
что, мол, на данном (на нашем, то есть) сайте уже есть счетчик. Вот код
счетчика LiveInternet.ru, приведенный на указанном сайте:
<!--LiveInternet counter-->
<script type="text/javascript">new Image().src =
"http://counter.yadro.ru/hit?r"+escape(document.referrer)+((typeof(screen)=="undefined")?""
:";s"+screen.width+"*"+screen.height+"*"
+
(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";h"+escape(document.title.substring(0,80))+
";" +Math.random();</script>
<!--/LiveInternet-->
<!--LiveInternet logo-->
<a href="http://www.liveinternet.ru/click"
target="_blank">
<img src="http://counter.yadro.ru/logo?38.2" border="0"
width="31" height="31" alt="" title="Показано количество просмотров и
посетителей"/>
</a>
<!--/LiveInternet-->
При этом счетчик будет иметь вид, представленный на рисунке:
Однако, для просмотра визитов и посетителей необходимо будет нажимать
на данную кнопку (счетчика) и переходить на сайт LiveInternet.ru, что
неудобно да и не всегда необходимо; иной раз желательно лишь мимоходом окинуть
взглядом статистику. Потом, нагляднее, когда непосредственно на самом
валидном счетчике LiveInternet.ru будут цифры статистики. Для этого
необходимо изменить его размеры, а также некоторые параметры.
Во-первых, сделаем ширину равной 88 рх, а высоту - 120 рх. Во-вторых,
для отображения статистики следует добавить число после
http://counter.yadro.ru/hit? (перед символом r) , а также изменить
число после src="http://counter.yadro.ru/logo?
На указанном выше сайте предложено число 38.2. Первая цифра (38)
означает вид счетчика. Так, он может быть представлен вообще без цифр
(только картинка со стрелкой, как показано выше). Могут быть цифры,
отражающие статистику посещений за один день; наконец, он может
отображать статистику за месяц. Нам более подходящим видится последний
вариант, тогда указываем в обоих местах цифру 29.
Второй параметр - цифра (2) - устанавливает цвет фона счетчика. Нам
более интересным видится темно-желтый цвет, соответственно, задаем
второй параметр равным 6. В итоге получится 29.6. Вот и все
корректировки! Исправленный код счетчика приведен здесь:
<!--LiveInternet counter-->
<script type="text/javascript">new Image().src =
"http://counter.yadro.ru/hit?29.6;r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"
+
(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL) +";h"+escape(document.title.substring(0,80))+
";" +Math.random();</script>
<!--/LiveInternet-->
<!--LiveInternet logo-->
<a href="http://www.liveinternet.ru/click"
target="_blank">
<img src="http://counter.yadro.ru/logo?29.6" border="0"
width="88" height="120" alt="" title="Показано количество просмотров и
посетителей"/>
</a>
<!--/LiveInternet-->
Вот как он будет выглядеть:
Естественно, у Вас на сайте могут быть другая статистика и, соответственно, другие цифры. Если кому интересно, можете попробовать задать другие виды цветового
оформления, степень полноты отображения статистики посещений и/или
размеры валидного счетчика. Такой его код является полностью валидным
даже для такого строгого стандарта (доктайпа), как XHTML 1.0
Transitional. Мелочь, конечно (причем, совершенно необязательная, ибо
современные браузеры, в основе своей, отлично воспринимают и невалидный
код счетчика LiveInternet.ru), но очень хочется, чтобы все было
правильно и как полагается (ну, по возможности, конечно). Кстати
говоря, такой же подход мы применяем, помогая нашим заказчикам
выполнять
диссертации,
контрольные работы,
дипломы,
бизнес-планы и иные аналогичные виды работ. Если Вас заинтересует,
посмотрите
важнейшие принципы нашей работы, а также
причины, по которым к нам обращаются заказчики.