Прячем счётчики

По тем или иным причинам, код счётчиков систем интернет-статистики зачастую приходится скрывать на странице. Оставим в стороне правомерность этого действия и рассмотрим способы сокрытия.

Самый тривиальный способ, который я, должен признать, долгое время использовал, не ведая о его недостатках:

<div style="display:none">
    <!-- SuperLog -->
    код счётчика
    <!-- /SuperLog -->
</div>

Всё очень просто - с помощью свойства display:none мы убираем из layout'а страницы код счётчика, при этом Edge и Mozilla всё равно обрабатывают этот код и загружают спрятанную картинку-счётчик.

Как оказалось, Opera и Safari не загружают картинку-счётчик. Это плохо, т. к. в таком случае мы теряем некоторых посетителей.

В итоге родился такой вот CSS-класс (несколько избыточный, но да будет так), который устраивает все современные браузеры:

div.stats{
    display:inline;
    height:0;
    left:-1000px;
    margin:0;
    padding:0;
    position:absolute;
    top:-1000px;
    visibility:hidden;
    width:0;
}

В HTML (желательно, сразу после <body>) пишем таким образом:

<div class="stats">
    <!-- SuperLog -->
    код счётчика
    <!-- /SuperLog -->
</div>

P. S. Дмитрий Полубояринов предлагает ещё один вариант прятания счетчиков: вместо вписывания посредством document.write рисунка в документ, можно создать объект Image и подгрузить в него рисунок.

Было:

document.write('<a href="http://click.superlog.ru/"></a>
<img '+'src="http://hit.superlog.ru/cgi-bin/superlog/count?'+superlog_r+'"
border="0" width="88" height="31" alt="SuperLog"></a>');

Стало:

cntHL_Img=new Image;
cntHL_Img.src='http://hit.superlog.ru/cgi-bin/superlog/count?'+superlog_r;

.