Коля Дубр

Коля Дубр
Рейтинг
153
Регистрация
02.03.2005
Должность
NetCat
Интересы
cms, музыка, лингвистика

edogs, а на мой вкус интеллектуальная работа (фактически, поиск) с графикой - жуткий гемор. "Пятно" - вообще не вариант: отсутствие банера может (и должно) рвать верстку. К тому же мало ли какие еще эл-ты могут меняться динамически? Да хоть другие банеры. Значит, надо все файлы выкачивать... По точному вхождению - хороший вариант, надежный. Но медленный.

И все-таки я бы сначала поработал с вариантом на JS. Он ощутимо проще, и обладает некоторыми преимуществами.

Progr@mmer., а че тут думать-то? :)

Нафига грузить свой сервак рендерилкой, если куча пользователей уже любезно установили себе разные хорошие браузеры? Давайте используем их мощности :)

Выдаете примерно такой код:


<script type="text/javascript">
document.write('<img src="http://bn.com/banner.php?params..." id="bn_banner" />');
window.onload = function () {
var i_banner = document.getElementById('bn_banner');
try {
var l = 0, t = 0, n = i_banner;
while (n) l += n.offsetLeft, t += n.offsetTop, n = n.offsetParent; // получаем координаты картинки
var v = l > 0 && t > 0 && i_banner.clientHeight > 0 && i_banner.clientWidth > 0 ? 1 : 0;
}catch (e) {
var v = 0; // картинка не нашлась
}
i_counter.src = 'http://bn.com/counter.php?h=' + document.location.host + '&v=' + v; // отправляем результат на сервер
}
</script>

Т.е. подгружаете еще одну картинку (1*1 пиксел), передавая на сервер данные о размере и позиции банера. Надежное кроссбраузерное решение - ищите сами, думаю, если подолбиться полдня, оно-таки найдется. Код можно разбавить всяким мусором, маскируя под настоящий счетчик (ну там, инфа о разрешении и глубине цвета, реферер и т.д.), дабы скрыть свои истинные намерения.

Далее, серверным скриптом counter.php собираем статистику по хостам, откуда приходит нолик, и в случае необходимости смотрим вручную. Кроме того, надо бы с сервера иногда проверять наличие и корректность самого кода-проверяльщика. Его, кстати, можно подгружать и со своего сервера (если конечно веб-мастера не побоятся - я бы побоялся).

В принципе это все можно обойти - при желании и работающей голове. Например, заслонить банер каким-нибудь абсолютно спозиционированным блоком. Позиционирование других эл-тов относительно банера (и их z-index) тоже можно проверять скриптом, но код разрастется.

Если решите делать - поделитесь результатом, интересно.

--Assa--, Вы-таки изменили файл :)

У меня обе версии сохранились, одна работает (22 375 байт), другая нет (22 143 байт).

--Assa--, кажется, проблема с самим файлом. Если напрямую открыть вот так, все равно не читается.

Попробуйте пересохранить другой программой.

О, уже заработало :) В чем проблема была?

юни, а я-то чего? Я за веб-строительством приглядываю, а тут другие люди командуют. Симаков вон в начале ветки пофлудил немного, и скрылся куда-то. Так что пока веселитесь.

P.S. Лично с моей честью Принцесса ничего такого не делала - ни с модераторской, ни с обычной...

юни, проснулся! Колготки уже обсудили, клонов спалили... конец уж почти )

Пришел Дэвид Блейн и сотворил дубль!

10 аватар.

[Подписался на тему]

Пришел Дэвид Блейн и сотворил дубль!

Jefa, ШАНС-ON, moldu, а где вы такие классные аватары надыбали?!

Dimanius:
Нас в России учит В.В. Путин. И учит он одному! Дорогу малому бизнесу!

Кто такой Путин? Это который теперь вместо Зубкова-Пиписькина?

Всего: 1529