www.wmaster.ru
Wmaster.ru

На главную

Введение в дизайн

СТАТЬИ

Хостинг

DOCS

Коллекция шрифтов

Скрипты

Секреты мастеров

Продвижение сайта

Soft

Журнал Wmaster

Электронные журналы

ФоруМ

web-mastering
HTML
Programming
HTML-редакторы
Учебник по SEO
Apache
MySQL
XML/WML
Flash
Photoshop
.htaccess
Всё для форумов
Clipart
3DSMax
SSI
CSS
Технология раскрутки
Авторское право
Кодовые таблицы
Важное

Windows

Технологии установки баннеров
Повесить баннер - дело не хитрое, ведь баннер - это обычная картинка. (Или я не прав?) Но когда количество страниц сайта, на которых нужно установить баннеры превышает одну, возникает проблема. Браузер загрузив картинку с сервера, сохраняет ее в кэше и при переходе на другую страницу с такой же картинкой, уже не загружает ее с сервера, а забирает из временной папки на диске пользователя. То есть, если URL у всех баннеров на сайте будут в точности одинаковыми, то посетителю на всех страницах будет демонстрироваться один и тот же баннер. Чтобы избежать такого абсурда, в адрес баннера (а точнее скрипта, отвечающего за выбор баннера) обычно добавляется специальный параметр - случайное число. Например, вот так выглядит код для размещения на странице баннера системы W3D Banner Exchange:
Пример 1. HTML-код для установки баннера W3D
<a href="http://www.exchange.w3d.ru/cgi-bin/click?id= 49&num=292871">
<img src="http://www.exchange.w3d.ru/cgi-bin/ex?id= 49&num=292871"
alt="W3D Banner Exchange" border="0" width="468" height="60"></a>

Все, что находится в URL после знака "?" - это параметры, передаваемые программе баннерообмена через интерфейс CGI. Здесь значение num должно быть уникальным для каждого баннера (в пределах сайта) числом, тогда при каждом переходе на следующую страницу будет загружаться новый баннер.

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

Пример 2. Код для установки баннера W3D с помощью JavaScript
<script language='JavaScript'>
<!--
var tmp = Math.round((Math.random() * (1000000 - 1)));
document.write("<a href='http://www.exchange.w3d.ru/cgi-bin/click?id=
    49&num=" + tmp + "' target='_top'>");
document.write("<img src='http://www.exchange.w3d.ru/cgi-bin/ex?id=
    49&num=" + tmp + "' width='468' height='60' border='0' alt='W3D Banner
    Exchange'></a>");
//-->
</script>

Переменная tmp - это и есть наша случайная величина, которая будет автоматически браться с потолка при каждом открытии страницы. Вспомните к тому же, что скрипт можно поместить в отдельном файле, а в HTML-разметке всех страниц добавить одну и ту же строчку, которую можно не менять при переходе на использование другой баннерной системы, например:

<script language="JavaScript" src="banner.js"></script>

Правда, нужно иметь в виду, что администрации рекламной сети может не понравится такое несанкционированное усовершенствование кода (если, конечно подобный Java-скрипт не предлагается по умолчанию).

Более красивое решение - применение серверной технологии SSI, поддерживаемой самым популярным в мире сервером Apache. Для этого потребуется небольшой Perl-скрипт, который будет создавать код баннера. В баннерных сетях типа Reklama.Ru, RB2 и некоторых других пользователям настоятельно рекомендуется взять соответствующий скрипт и поместить его в CGI-директории своего сервера. Вот так будет выглядеть универсальный скрипт в случае с нашей W3D Exchange:

Пример 3. Perl-скрипт для установки баннера W3D с помощью SSI
#!/usr/bin/perl

$SERVER_HOST='www.exchange.w3d.ru';
$PATH_HREF="http://$SERVER_HOST/cgi-bin/click";
$PATH_BANNER="http://$SERVER_HOST/cgi-bin/ex";

$login=$ENV{"QUERY_STRING"};

($IP=$ENV{"REMOTE_ADDR"})=~tr/.//d;
srand($$+$IP);
$tmp=int rand(10000000);

print "Content-type: text/html\n\n";
print "<a href=$PATH_HREF?id=$login&num=$tmp>";
print "<img src=$PATH_BANNER?id=$login&num=$tmp \n";
print "width=468 height=60 border=0 alt=\"W3D Banner Exchange.\"></a>";

Для размещения баннера на любой из страниц в ее разметку нужно добавить единственную строчку, например, такую:

<!--#include virtual="/cgi-bin/banner?49"-->

Во всех примерах 49 - это идентификатор конкретного пользователя в баннерной системе.
В последнем случае пользователю будет отправлена страница, собранная на сервере, и, заглянув в HTML-код, он увидит примерно то же, что и в примере 1.

А можно применить и серверную вставку Java-скрипта из примера 2:

<script language="JavaScript">
<!--#include virtual="banner.js"-->
</script>

Кроме рассмотренных здесь основных способов установки баннеров, есть, конечно, и другие технологии (к примеру, ASP), ваше дело - выбрать наиболее приемлемую и доступную для вашего сайта.


Все заметки: 1 2 3 4 5 6 7 8 9 11 12 оглавление

Партнеры Wmaster
Protoplex.RU
Эскизы татуировок
Поиск по сайту
Объявления
Twitter автора
Карта сайта
Наши баннеры
О проекте

Реклама
(понижение цен)

Об Авторе
Команда
Архив рассылки
 Запомнить эту страницу
Сделать стартовой
Рассылка
Wmaster.ru - всё для вебмастера.
Наша кнопка

Все желающие могут поставить нашу кнопочку к себе на сайт
Всё для веб-мастеров

Партнеры
Бочкарёв Антон
Mail: webmaster[at]wmaster.ru
ICQ: 148780826
Хостинг от Valuehost
© RUscripts.design 2003

© Wmaster Design Group 2001-2008. © Все права защищены. При перепечатке любого материала с сайта  ссылка на http://www.wmaster.ru/  обязательна.