Internet и CGI

       

§2. Загрузка CGI-сценариев в контейнере IFRAME.


Основной привлекательностью использования элемента IFRAME является возможность выделения в произвольном месте HTML-страницы прямоугольной области произвольных размеров. Этот прием часто применяется для внедрения в статическую HTML-страницу, новостной, часто меняющейся информации, как текстовой, так и графической. При этом, как правило, новостная вставка, сама представляет собой HTML-страницу (файл). Применение, в качестве загрузочного ресурcа CGI-сценария позволит автоматизировать процедуру смены новостей.

Задача.

Автоматизировать процесс смены новостной информации (текстовой) в поле статической HTML-страницы.

Решение.
CGI программа считывает текстовый файл с диска, или выполняет выборку из базы данных (БД), генерирует на лету документ HTML и загружает ресурс в элемент IFRAME:

<IFRAME SRC="../cgi-bin/news_bulletin.cgi" HSPACE="0" VSPACE="0" FRAMEBORDER="0" MARGINHEIGHT="0" MARGINWIDTH="0" WIDTH="320" HEIGHT="100"> </IFRAME>.

Отметим, что элемент IFRAME представляет собой встроенный элемент Internet Explorer (IE). Начнем рассмотрение с CGI-скрипта:

#!/usr/bin/perl print "Content-Type: text/html\n\n"; $path = "c:/apache/htdocs"; $FILE_NEWS=$path.'/txt/bulletin.txt'; open(LIST,"<$FILE_NEWS"); @lines=<LIST>; close(LIST); #-------HTML-include: print <<EOT; <html> <head> <style type="text/css">P.just{text-align: justify;}</style> </head><body bgcolor='#FFFFFF' leftmargin='0'> <table border="0" cellspacing="0" cellpadding="20"> <tr> <td><p class="just"><font color='#00007b' size='4'>@lines</font></p></td> </tr> </table> </body></html> EOT exit;

В процессе загрузки в броузер новостной HTML-страницы, управление передается CGI-скрипту, который считывает обычный текстовый файл bulletin.txt с диска сервера, создает на лету HTML-вставку и выводит ресурс в элемент IFRAME. Для наглядности, HTML-вставка размещена в теле CGI-скрипта. В реальной ситуации, HTML-вставка существует в виде шаблона в каталоге шаблонов на сервере или находиться в таблице шаблонов в БД. Ниже представлена собственно новостная HTML-страница (news.html):



Содержание раздела