|
||
|
||
Изображения ismapЯ познакомлю вас с
изображениями ismap, потому что они дают
возможность внести приятное разнообразие в ваш
сайт. Изображения ismap поддерживаются
графическими броузерами и, естественно, имеют
право на жизнь, хотя с приходом новых веяний в HTML
(особенно Java-апплетов) этот способ стал настоящей
редкостью. Конечно, в 80% случаев можно найти этому
варианту более быструю замену, но все же иногда
именно ismap окажется предпочтительнее всего.
<A
href="cgi-bin/somescript.cgi"> Заметьте, что все отличие заключается лишь в том, что в теге <IMG> добавлен атрибут ismap. Он говорит броузеру, что, когда пользователь щелкнет на картинке, нужно не просто перейти к URL, указанному в <A href="URL">, а еще и добавить к этому URL координаты той точки, на которой пользователь произвел щелчок. В нашем примере, если пользователь щелкнет в точке (x = 10, y = 15), то броузер перейдет на следующий URL: >http://www.somehost.ru/cgi-bin/somescript.cgi?10,15 Как видите, броузер просто прибавил к указанному URL параметры в формате x, y. С точки зрения скрипта это означает, что координаты попадают в переменную QUERY_STRING. Как их оттуда извлечь? Нет ничего проще: ($x,$y)=split(/,/,$ENV{'QUERY_STRING'}); Вот скрипт, который просто показывает координаты точки щелчка:
#!/usr/bin/perl Что делать с полученными координатами дальше, зависит только от вашей фантазии. Дайте ей ход, и у вас все получится! Очень часто ismap применяют для графического оглавления сайта: когда пользователь щелкает на разных частях рисунка, он переходит к разным страницам сайта. Если это сделано в веселом стиле, да еще с оригинальной авторской графикой, это будет великолепно смотреться и, несмотря на некоторую задержку (лишний рисунок на странице -- это всегда некоторая задержка), доставит пользователю немало удовольствия! Сам переход по нужному URL реализуется очень
легко. Вспомните урок 3 про заголовки запросов и
ответов. Если скрипт выдаст нужный URL в поле Location:
заголовка ответа CGI, то броузер произведет
переход по этому URL. minx miny maxx maxy URL Здесь значения minx, miny, maxx и maxy задают участок рисунка, а следующее за ними поле указывает URL, которому этот участок соответствует. Вот пример такого файла: 1 1 20 50
http://www.uic.nnov.ru/~paaa/index_p.html Теперь где-нибудь на своей Web-странице разместите такой HTML-код: <A
href="cgi-bin/testismap.cgi"><IMG src="gifs/doom2.jpg" #!/usr/bin/perl Естественно, это слишком простое применение. Если такая информация достаточно статична, то ее лучше все-таки размещать у клиента, тем более в HTML имеются средства для создания карт изображений. Но то, что расположено у клиента, не имеет такой потенциальной мощи, как то, что расположено на сервере. Тем более, если нужно обратиться к какой-нибудь динамической базе данных. Представьте себе, например, базу данных прогноза погоды. Щелкнув на карте, клиент передает координаты щелчка, а сервер ищет в своей динамической базе данных запись о погоде в соответствующей местности. Или пусть (это еще более динамический вариант) вы наблюдаете за каким-нибудь процессом, и скрипт выводит соответствующий график. Произведя щелчок на нем, вы можете получить детализацию нужного фрагмента графика. В общем, данное средство, несмотря на свою простоту, действительно мощное. Теперь вы сможете при необходимости применять его. Помните, такую вещь трудно реализовать другими методами. Сергей Гуйдя, irinag@mail.primorye.ru Использованы материалы из книги: "CGI-программирование: учебный курс".
|
||
|
||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |