Меню

Контакты

+ 996 312 46 07 70
(прямой)
+ 996 555 55 03 11
Мы рады вашему звонку!

Авторизация




HTML-формы
С помощью средств Html можно создавать формы для ввода информации посетителем Web-страницы.

 

Тэг <FORM>
 
Описание формы помещается между тэгами <FORM> и </FORM>. На странице одновременно может располагаться несколько форм, однако они не могут быть вложены одна в другую.
 
Атрибуты
  • METHOD. Задает метод – GET или POST. По умолчанию предполагается GET. Хотя большинство из существующих форм использует метод POST Различия между GET и POST, а также ситуации, в которых следует использовать тот или иной метод, будут рассмотрены при изучении CGI-программирования.
  • ACTION. Задает имя программы, которая будет обрабатывать форму.
  • ENCTYPE. Задает метод кодирования (обычно не задается). По умолчанию равен "application/x-www-form-urlencoded".
  • NAME. Задается для JavaScript, чтобы иметь возможность обращаться к форме по имени, а не по номеру.
  • TARGET. Задается во фреймосодержащих документах. Определяет, в какой фрейм отправить полученную информацию.
  • ONSUBMIT. Задает JavaScript-обработчик проверки правильности заполнения формы. Так как JavaScript-обработчик срабатывает локально, процесс происходит достаточно быстро. Это намного лучше, чем многократно гонять данные по сети из-за того, что растяпа-пользователь в очередной раз некорректно заполнил какое-то поле.
 
Пример
...Элементы формы...
 

<FORM METHOD="POST" ACTION="/cgi_bin/grill.pl"
    ONSUBMIT="alert('Некого посылать');return false;">
...Элементы формы...
</FORM>

 

Контейнер <FORM>…</FORM> существует не сам по себе. Посылаемые данные содержатся в специальных элементах формы – элементах управления. Именно с ними взаимодействует пользователь, вводя данные.Контейнер <FORM>…</FORM> существует не сам по себе. Посылаемые данные содержатся в специальных элементах формы – элементах управления. Именно с ними взаимодействует пользователь, вводя данные.

 

Элементы форм

Текстовая область - <TEXTAREA>
Это область для ввода многострочной текстовой информации. В контейнере <TEXTAREA>…</TEXTAREA> допускается размещать любой текст, который будет выведен в поле ввода по умолчанию.
 
Атрибуты

  • NAME. Задает название информации. Обязательный атрибут.
  • ROWS. Задает высоту поля, т.е. число строк в нём.
  • COLS. Задает ширину поля, т.е. длину строки.
  • disabled. Запрещает доступ пользователя к элементу формы. Поле не может быть выбрано. Значение не отправляется на сервер.

readonly. Объявляет поле только для чтения. Поле доступно для выбора, но не может быть изменено.

Хотя атрибуты ROWS и COLS не являются обязательными, они не имеют определенных значений по умолчанию (для каждого броузера эти значения различны), поэтому лучше их всегда указывать.

 

Пример

 

<FORM>
<TEXTAREA NAME="MyText" ROWS=5 COLS=30>
Тут можно что-нибудь написать
</TEXTAREA>
</FORM>
 

Список - <SELECT>

 

 
Предназначен для создания меню, из которого пользователь может выбрать один или несколько из предложенных вариантов.
 
Атрибуты

  • NAME. Задает имя поля. Обязательный атрибут.
  • SIZE. Задает вертикальный размер окна для вариантов выбора. Если атрибут опущен или его значение равно 1, выводится всплывающий список вариантов. Если указано число больше 1, то варианты выводятся в окне с полосой прокрутки. Если значение атрибута больше, чем фактическое количество элементов списка, добавляются пустые строки. При их выборе пользователем возвращаются пустые поля.
  • MULTIPLE. Этот атрибут позволяет выбрать несколько вариантов одновременно. Следует обратить внимание, что при множественном выборе в потоке данных от одной формы может присутствовать несколько переменных с одним и тем же именем. Ваша программа обработки должна предусматривать подобные ситуации и корректно их обрабатывать.
    Список вариантов включается в контейнер <SELECT>…</SELECT> при помощи тэгов <OPTION>. Тэг имеет два необязательных атрибута:
  • VALUE. Задает значение, передаваемое сценарию в случае выбора варианта пользователем. Если этот атрибут отсутствует, то в сценарий будет отослан текст, расположенный сразу после тэга <OPTION>.
  • SELECTED. Указывает вариант, выделенный по умолчанию.

 

Примеры


<!-—Выпадающий список-->
<FORM>
<SELECT NAME="Item">
<OPTION VALUE="tea">Чай
<OPTION VALUE ="coffee">Кофе
<OPTION VALUE ="milk">Молоко
<OPTION VALUE ="ham">Ветчина
<OPTION VALUE ="cheese">Сыр
</SELECT>
</FORM>

 

 

<!--Список с множественным выбором-->
<FORM>
<SELECT NAME="Item" SIZE=5 MULTIPLE>
  <OPTION VALUE ="tea">Чай
  <OPTION VALUE ="coffee" SELECTED>Кофе
  <OPTION VALUE ="milk">Молоко
  <OPTION VALUE ="ham">Ветчина
  <OPTION VALUE ="cheese">Сыр
</SELECT>
</FORM>

 

 

 

OPTGROUP

 

 

OPTGROUP - позволяет группировать пункты в элементе SELECT. В этом случае добавляются отступы и названия каждой группы, так что пользователю при выборе необходимого пункта ориентироваться гораздо проще. Название группы задается в атрибуте LABEL элемента OPTGROUP. Вот пример использования группировки:
 

Справочники:

 

<form> <br> 
<p>Справочники:</p> <br>
<select name="ask">
  <optgroup label="HTML"> </optgroup> 
  <option label="3.2">HTML 3.2</option>
  <option label="4.0">HTML 4.0</option>
  <optgroup label="CSS"> </optgroup> 
  <option label="1">CSS-1</option>
  <option label="1">CSS-2</option>
  <option label="3">CSS-3</option>
  <option value="js">JavaScript</option>
  <option value="dhtml">DHTML</option>
</select>
</form> 

 

 
Более того, каждую группу с помощью CSS можно раскрасить в свой цвет! Делается это с использованием свойства Background. Например, первую группу сделаем зеленой, а вторую желтой.
 

Справочники:

 

<form> <br> <p>Справочники:</p> <br> 
<select name="ask">  
  <optgroup label="HTML" 
    style="background:  RGB(0, 153, 0) none repeat scroll 0% 50%;
        -moz-background-clip: -moz-initial;
        -moz-background-origin: -moz-initial;
        -moz-background-inline-policy: -moz-initial;">
  </optgroup> 
  <option label="3.2" 
    style="background: rgb(0, 153, 0) none repeat scroll 0% 50%; 
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;">HTML 3.2  
  </option>
  <option label="4.0"
      style="background: rgb(0, 153, 0) none repeat scroll 0% 50%;
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;">HTML 4.0    
  </option>
  <optgroup label="CSS" 
      style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; 
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;"> 
  </optgroup> 
  <option label="1" 
    style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; 
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;">CSS-1  
  </option>
  <option label="1" 
    style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; 
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;">CSS-2  
  </option>
  <option label="3" 
    style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; 
        -moz-background-clip: -moz-initial; 
        -moz-background-origin: -moz-initial; 
        -moz-background-inline-policy: -moz-initial;">CSS-3    
  </option>
  <option value="js">JavaScript  </option>
  <option value="dhtml">DHTML  </option>
</select>
</form>

 

Поддерживается браузерами: MSIE 6, Netscape 6.
 

 

<INPUT>

 

 
Чаще всего в формах используется тэг <INPUT>. Он не имеет закрывающего тэга. Вся информация, необходимая броузеру для обработки, содержится непосредственно в тэге <INPUT> и задается с помощью различных атрибутов.
 
Атрибуты

  • TYPE. Задает тип поля ввода. Может принимать значения: кнопка (BUTTON, SUBMIT, RESET), поле ввода (TEXT), поле ввода пароля ( Password), скрытое поле (HIDDEN), флажок (CHECKBOX), переключатель (RADIO), файл (FILE). Чуть ниже всё это рассмотрим подробно.
  • NAME. Задает имя поля. Каждое создаваемое поле ввода должно иметь собственное уникальное имя, иначе сценарий не определит, к каким полям относятся полученные значения. Конечно, имя поля ввода должно соответствовать имени, которое описано для него в программе обработки.
  • VALUE. Задает значение поля по умолчанию или надпись на кнопке.
  • ONCLICK. Задает обработчик щелчка на кнопке.
  • SIZE. Задает размер поля типа TEXT.
  • MAXLENGTH. Задает ограничение в поле типа TEXT вводимого количества символов.
  • AUTOCOMPLETE="OFF". Отключает автозаполнение для данного поля. Очень полезно для полей ввода разовых кодов, каптч и т.п. [domelement].setAttribute('autocomplete','off');

 

 

Кнопка - BUTTON

 

В форме изображается кнопка с надписью, заданной атрибутом VALUE, при нажатии на которую вызывается JavaScript-обработчик, заданный атрибутом ONCLICK. Атрибут NAME служит для JavaScript-именования кнопки, а не для передачи на сервер. Атрибут TYPE, который может принимать значения submit, reset и button. Первые два значения и так ясно для чего, а вот третье предназначено для тех случаев, когда надо исполнять какой-нибудь скрипт. То есть на кнопку вешается событие OnСlick и вызывается нужная функция.

 

Пример

 

<FORM>
<INPUT TYPE="BUTTON" VALUE ="Нажми!" ONCLICK="alert('Нажал!');">
</FORM>

 

Внутри элемента BUTTON можно размещать другие HTML-элементы, так что можно сделать кнопку с  рисунком.
Вот так:

<button type="button">
 <img src="knopka.png" alt="кнопочка не функционирует"
    border="0" height="115" width="100">
</button>

Можно вместо рисунка вставить что угодно, хоть таблицу, если вам это необходимо.

<button type="button">
 <table border="1" cellspacing="0" width="200"> <tbody>
 <tr> <td>нажми на кнопку</td> 
 <td>получишь результат</td> </tr> </tbody>
 </table>
</button>

 

Данный элемент не поддерживается браузером Operа 5+.
 

 

Кнопка - SUBMIT

 

 
Эта кнопка предназначена для передачи формы. В большинстве броузеров внешне почти не отличима от кнопки BUTTON. Опять же сама она не передается, а служит только для управления. Атрибут ONCLICK практически не используется, так как лучше использовать обработчик событий ONSUBMIT, заданный в тэге <FORM>. Ведь чтобы передать введенные в форму данные, в общем случае совсем не обязательно нажимать на кнопку SUBMIT. Можно просто нажать на клавиатуре клавишу ENTER, находясь в текстовом поле ввода. При этом произойдет передача данных.
 
Пример

 

<FORM>
<INPUT TYPE="SUBMIT" VALUE ="Принять заказ">
</FORM>

 

Атрибут VALUE дает определенные преимущества при использовании более одной кнопки передачи данных. В этом случае на основании значения полученной переменной сценарий сможет определить, как обрабатывать полученную информацию далее.
Пример

 

<FORM>
<INPUT TYPE="SUBMIT" NAME="BN" VALUE ="Вступить в клуб">
<INPUT TYPE="SUBMIT" NAME="BN" VALUE ="Отказаться">
<INPUT TYPE="SUBMIT" NAME="BN" VALUE ="Принять как наблюдателя">
</FORM>

 

 

Кнопка - RESET

 

 
Это кнопка очистки формы. При ее нажатии всем измененным элементам возвращается значение по умолчанию. Применяется она достаточно редко. Однако в некоторых случаях может быть весьма полезно. Совет: осторожно относитесь к выбору надписи на кнопке RESET. Вполне наглядным (и, главное, интуитивно понятным даже чайнику из чайников) будет что-нибудь вроде “Очистить”, “Начать сначала”, “Удалить ввод” и т.п. В общем, надо, чтобы у пользователя не закралось и тени сомнения относительно предназначения этой клавиши.
 
Пример

 

<FORM>
<INPUT TYPE="RESET" VALUE ="Сброс">
</FORM>

 

 

 

Поле ввода - TEXT

 

 
Текстовое поле ввода используется в формах наиболее часто. Более того, его можно по праву считать основным и главнейшим элементом форм. Этот тип используется тэгом <INPUT> по умолчанию, его не нужно каждый раз указывать, чтобы вывести текстовое поле. Таким образом, на каждом текстовом поле вы экономите 12 нажатий на клавиши, а главное, размер HTML-кода будет меньше. Имя поля, задаваемое атрибутом NAME, обязательно, так как базируясь именно на этом параметре, броузер передает сценарию пару имя=значение.
 
Пример

 

<FORM>
<INPUT NAME="Фамилия" VALUE ="Иванов" SIZE=20 MAXLEGNTH=20>
</FORM>

 

Текст Иванов помещается в созданное поле в качестве начального значения. Если пользователь не внесет изменений или нажмет кнопку RESET, то значение Иванов будет отправлено сценарию в качестве фамилии пользователя.
Поле ввода пароля - PASSWORD
 
Поле ввода пароля очень похоже на простое текстовое поле. Отличается оно тем, что вместо вводимых символов в нем отображаются звездочки. Такая возможность очень важна, когда нужно выспросить у пользователя секретную информацию типа пароля, которую не должны видеть другие.
 
Пример

 

<FORM>
<INPUT TYPE="PASSWORD" NAME=" Пароль" SIZE=20>
</FORM>

 

 

 

Скрытое поле - HIDDEN

 

 
Это специальный (скрытый) тип текстового поля. Если один сценарий обрабатывает несколько разных форм, то в скрытом поле каждой формы можно указать идентификатор, который позволит определить, с какой формой вы имеете дело.
 
Пример
...Другие элементы формы....
...Другие элементы формы...

 

<FORM METHOD="POST" ACTION="/cgi_bin/test.cgi">
<INPUT TYPE="HIDDEN" NAME="NumForm" VALUE ="1">
...Другие элементы формы....
</FORM>
<FORM
METHOD="POST" ACTION="/cgi_bin/test.cgi">
<INPUT
TYPE="HIDDEN" NAME="NumForm" VALUE ="2">
...Другие элементы формы...
</FORM>

 

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

<INPUT TYPE="HIDDEN" NAME="FormVersion" VALUE ="1.2">

 

Сценарий получит переменную с именем FormVersion, которой будет присвоено значения 1.2. Эта информация может использоваться для определения способа обработки остальной информации, полученной от формы. Если пользователь изменит это значение, то программа сценария может повести себя неожиданным образом.
 

 

Флажок - CHECKBOX

 

 
Броузер отображает поле этого типа в виде небольшого квадрата. По смыслу флажок служит для того, чтобы быть установленным (квадрат перечеркнут), либо нет (квадрат пуст). Когда он установлен, его значение, заданное атрибутом VALUE, передается программе сценария. Если он не установлен, то его значение не передается совсем. Флажок может быть сразу установлен по умолчанию, если указан атрибут CHECKED. По умолчанию атрибут VALUE имеет значение ON (установлен). Так как атрибут VALUE здесь задает не надпись на флажке, а его внутреннее значение, передаваемое программе сценария, то если надо что-то подписать, пишите рядом с флажком.
 
Пример
Нужна накладная

 

<FORM>
Нужна накладная
<INPUT TYPE="CHECKBOX" NAME="Receipt" VALUE ="Yes">
</FORM>

 

 

 

Переключатель - RADIO

 

 
Переключатель напоминает флажок, поскольку он тоже может находиться во включенном или выключенном состоянии. По смыслу всегда предполагается, что в форме имеется несколько переключателей с одинаковым атрибутом NAME. У каждого из них свое значение атрибута VALUE. Группа переключателей с одним и тем же именем в форме ведет себя таким образом, что только один из них может быть включенным. При передаче данных передается значение только выбранного переключателя. Один переключатель из группы может быть изначально выбран по умолчанию с помощью атрибута CHECKED.
 
Пример
Мужской Женский

 

<FORM>
<INPUT TYPE="RADIO" NAME="Sex" VALUE ="Man" CHECKED>Мужской
<INPUT TYPE="RADIO" NAME="Sex" VALUE ="Woman">Женский
</FORM>

 

 

 

Файл - FILE

 

 

Позволяет передать сценарию любой файл. Максимальный размер файла задается скрытым полем MAX_FILE_SIZE.

 
Пример
Фото:

 

<form name=forma enctype="multipart/form-data"
    method=POST action= HTTP://htmlweb.ru/cgi-bin/file.cgi >
<INPUT TYPE="hidden" NAME="MAX_FILE_SIZE"
    VALUE ="10000" >
Фото:<INPUT TYPE="file" NAME="mURL" size=45>
</form>

Сценарий получения файла на PHP:

 

 

 

<?php
if (isset($mURL_type)) {
   $nname='/usr/home/ FTP/pub/'.$mURL_name;
   if (move_uploaded_file($mURL,$nname)) {
     Print "Файл успешно загружен на сервер!";
    mail(" Admin@aaanet.ru",
        "Поступил файл $nname",
        "Поступил файл $nname",
        "Content-Type: text/plain; charset=windows-1251");
   } else
    print "Ошибка! Файл не был загружен...";
   exit;
}
?>
 
 
В конце разговора о HTML-формах хочу сделать одно замечание. Некоторые броузеры (например, Internet Explorer) отображают элементы форм, даже если они не находятся внутри контейнера <FORM>…</FORM>. Но злоупотреблять этим не стоит. Во-первых, в одном документе может находиться несколько форм, и именно <FORM>…</FORM> определяет, какие элементы к какой форме относятся; во-вторых, в тэге <FORM> задается URL обработчика формы и метод передачи данных. В этом плане корректнее всех поступает броузер Netscate Navigator, он вообще не отображает никаких элементов управления, описанных вне контейнера <FORM>…</FORM>.
 

 

FIELDSET

 

 
Этот элемент позволяет группировать элементы форм. Данная группировка помогает пользователям проще ориентироваться в формах, то есть ему сразу становится понятно, что вот все эти элементы относятся именно к этой форме. Кроме того, можно эту группу еще и обозвать. Для этого используется элемент LEGEND
Поддерживается браузерами: MSIE 4+, Netscape 6, Opera 5+.
 
LEGEND
 
Имеет атрибут ALIGN, который теоретически позволяет размещать название не только сверху, но он не работает ни в одном браузере.
Самое прекрасное, что на элемент FIEDLSET можно писать стили, то есть вы можете сделать рамку любого цвета и так далее. Надо сказать, что элемент LEGEND помечен в спецификации HTML 4 как нежелательный.
Ниже приведена форма, которая заключена в элемент FIELDSET и называется "Ваш комментарий".
 

Ваш комментарий
Вы можете разместить на сайте ваш комментарий, касающийся данной статьи

Имя:
E-mail:
Страна:
Комментарий:


<form> <br> 
<fieldset style="border: 2px solid rgb(0, 0, 0);
         padding: 10px; width: 200px;"> <br>
 <legend>Ваш комментарий</legend>
 <p>Вы можете разместить на сайте ваш комментарий,
    касающийся данной статьи</p> 
 <br> 
 <table> <tbody>
 <tr><td>Имя:</td><td><input size="12"></td></tr> 
 <tr><td>E-mail:</td><td><input size="12"></td></tr> 
 <tr><td>Страна:</td> 
 <td><select>  
    <option selected="selected">Кыргызстан</option>
    <option selected="selected">Казахстан</option>
    <option selected="selected">Россия</option>
 </select></td></tr>
 <tr><td colspan="2">Комментарий:<br>
 <textarea rows="4" cols6=""></textarea></td></tr>
 <tr><td colspan="2">
 <input value="отправить" type="submit"></td></tr> 
 </tbody></table> <br>
 </fieldset>
</form> 

Поддерживается браузерами: MSIE 4+, Netscape 6.
 
Фреймы

Фреймы – это прямоугольные области экрана, каждая из которых содержит свой собственный Html-документ. Фреймы прекрасно подходят для оформления следующих документов:

  • Оглавление. Если вы поместите на Web-страницу оглавление в виде вертикального столбца, то пользователь сможет обратиться к нему в любой момент, и ему не нужно будет постоянно щелкать на кнопке возврата к предыдущей странице. Поскольку, находясь во фрейме, оглавление всегда будет под рукой, пользователю нужно будет просто выбрать другой его пункт и сразу же получить нужную информацию.
  • Неподвижные элементы интерфейса. Можно зафиксировать на экране какое-то графическое изображение, например, логотип фирмы, в то время как остальная часть страницы будет прокручиваться в другом фрейме.

  • Формы и результаты. Можно создать форму в одном фрейме, а в другом отобразить результаты запроса.

 

Тег <FRAMESET>

 

Тег <FRAMESET> - заменяет тег <BODY> и используется для разделения экрана. Имеет закрывающий тег.

Атрибуты:

  • COLS. Делит экран по вертикали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретный столбец будет занимать всю остальную часть экрана

  • ROWS. Делит экран по горизонтали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретная строка будет занимать всю остальную часть экрана

  • FRAMEBORDER. Определяет наличие рамок, т.е. границ фреймов. Принимает значения "yes" или "no".

  • BORDER. Определяет ширину рамки в пикселях.

  • BORDERCOLOR. Определяет цвет рамок. По умолчанию (если используется стандартная цветовая схема системы Windows) границы фреймов имеют тусклый, серый оттенок. Но при желании можно выбрать любой другой цвет. При определении цвета можно выбрать как его название, так и числовой эквивалент в системе RGB. Например, BLUE или #0000FF.

В отдельном теге <FRAMESET> имеет смысл использовать только один из атрибутов – COLS или ROWS. Это означает, что фреймовая структура будет состоять или только из столбцов, или только из строк. Чтобы создать строки внутри столбцов или столбцы внутри строк, вам потребуется вложенные контейнеры <FRAMESET>…</FRAMESET>.

 

Пример

<FRAMESET COLS="25٪,75٪" FRAMEBORDER="YES" BORDER="2">
  <FRAMESET ROWS="50٪,50٪" FRAMEBORDER="YES" BORDER="2">
  </FRAMESET>
  <FRAMESET ROWS="10٪,90٪" FRAMEBORDER="YES" BORDER="2">
  </FRAMESET>
</FRAMESET>

Результат:

 

1
3
4
 
 
 
2

Используя сразу оба атрибута – и COLS, и ROWS в одном теге <FRAMESET>, вы не сможете получить такое разбиение экрана.

Пример

<FRAMESET COLS="25٪,75٪" ROWS="50٪,50٪">
</FRAMESET>

Результат:

1

2

3

4

Обратите внимание также на различие в порядке нумерации фреймов.

 

Тег <FRAME>

 

Тег <FRAME>, помещенный в контейнер <FRAMESET>…</FRAMESET>, определяет, что именно должно отображаться в конкретном фрейме. Не имеет закрывающего тега.

Атрибуты

  • SRC. Определяет URL, связанный с конкретным фреймом.

  • MARGINWIDTH. Определяет расстояние между содержимым фрейма и его границами справа и слева.

  • MARGINHEIGHT. Определяет расстояние между содержимым фрейма и его границами сверху и снизу.

  • SCROLLING. Определяет присутствие в окне фрейма полосы прокрутки. Может принимать значения "yes", "no" и "auto"(по умолчанию).

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

  • FRAMEBORDER, BORDER, BORDERCOLOR. Эти атрибуты связаны с рамками и аналогичны таким же в теге <FRAMESET>.

  • NAME. Определяет имя окна фрейма. Единственный атрибут, не влияющий на внешний вид фрейма. Позволяет контролировать процесс загрузки фреймов. Если окно фрейма имеет уникальное имя, то к нему можно непосредственно обратиться из других фреймов. Присваивая имена окнам фреймов, надо помнить об одном ограничении: имя не должно начинаться с символа подчеркивания "_", иначе оно будет игнорироваться. Так как с этого символа начинаются некоторые служебные имена.

Пример

<FRAMESET COLS="25٪,75٪" FRAMEBORDER="yes" BORDER="5" BORDERCOLOR="#008800">
<FRAME src="left.htm" MARGINWIDTH="20" MARGINHEIGHT="20">
<FRAME src="right.htm" NAME="main_window" MARGINWIDTH="0" SCROLLING="no" NORESIZE>
</FRAMESET>

 

Использование тега A для загрузки во фрейм

 

С помощью тега гиперссылки <A> можно загрузить документ в определенный фрейм.

Атрибуты

  • HREF. Определяет URL или имя нового документа, который вы хотите загрузить в определенное окно фрейма.

  • TARGET. Определяет имя фрейма, в который будет загружен новый документ. Это имя должно быть присвоено фрейму атрибутом NAME в теге <FRAME>.

В следующем примере экран разбивается на две вертикальные области. В меньшей левой части находится оглавление, а в правую будут загружаться все остальные HTML-документы. В файле оглавления находятся простые текстовые гиперссылки на соответствующие разделы. Чтобы все работало, необходимо создать HTML-документы в файлах cosm.htm, eat.htm, perf.htm, massage.htm и manic.htm.

Пример

 

<!-- Файл фреймовой структуры frame.htm -->
<HTML>
<FRAMESET COLS="25٪,75٪" FRAMEBORDER="yes"
BORDER="5" >
<FRAME src="left.htm"
NAME="toc_window">
<FRAME src="right.htm"
NAME="main_window">
</FRAMESET>
</HTML>
<!-- Файл оглавления left.htm -->
<HTML>
<H3>Оглавление</H3>
<UL>
<LI>Товары
  <UL>
  <LI><A href="cosm.htm"
TARGET="main_window">Косметика</A>
  <LI><A href="eat.htm"
TARGET="main_window">Пищевые добавки</A>
  <LI><A href="perf.htm"
TARGET="main_window">Парфюмерия</A>
  </UL>
<LI>Услуги
  <UL>
  <LI><A href="massage.htm"
TARGET="main_window">Массаж</A>
  <LI><A href="manic.htm"
TARGET="main_window">Маникюр</A>
  </UL>
</UL>
</BODY>
</HTML>
<!-- Файл заставки основного окна right.htm -->
<HTML>
<BODY>
<H1>Здравствуйте!</H1>
</BODY>
</HTML>

 

Тег <BASE>
 
Тег <BASE> избавит вас от необходимости повторять атрибут TARGET в каждой отдельной гиперссылки, если все они указывают на одно и то же окно фрейма. Для этого надо поместить тег <BASE> с атрибутом TARGET в контейнер <HEAD>…</HEAD>.
Использование тега <BASE> даст возможность уменьшить размер файла оглавления left.htm предыдущего примера.
Пример
<!-- Файл оглавления left.htm -->
<HTML>
<HEAD>
<BASE TARGET="main_window">
</HEAD>
<H3>Оглавление</H3>
<UL>
<LI>Товары
  <UL>
  <LI><A href="cosm.htm">Косметика</A>
  <LI><A href="eat.htm">Пищевые добавки</A>
  <LI><A href="perf.htm">Парфюмерия</A>
  </UL>
<LI>Услуги
  <UL>
  <LI><A href="massage.htm">Массаж</A>
  <LI><A href="manic.htm">Маникюр</A>
  </UL>
</UL>
</BODY>
</HTML>
 
Атрибут TARGET каждой конктерной ссылки замещает одноименный атрибут тега <BASE>.
Пример
<!-- Файл фреймовой структуры frame.htm -->
<HTML>
<FRAMESET COLS="20٪,40٪,*" FRAMEBORDER="yes"
BORDER="5">
<FRAME src="left.htm"
NAME="toc_window">
<FRAME src="wares.htm"
NAME="wares_window">
<FRAME src="service.htm"
NAME="service_window">
</FRAMESET>
</HTML>
<!-- Файл оглавления left.htm -->
<HTML>
<HEAD>
<BASE TARGET="wares_window">
</HEAD>
<H3>Оглавление</H3>
<UL>
<LI>Товары
  <UL>
  <LI><A href="cosm.htm">Косметика</A>
  <LI><A href="eat.htm">Пищевые добавки</A>
  <LI><A href="perf.htm">Парфюмерия</A>
  </UL>
<LI>Услуги
  <UL>
 <LI><A href="massage.htm"
TARGET="service_window">Массаж</A>
  <LI><A href="manic.htm"
TARGET="service_window">Маникюр</A>
  </UL>
</UL>
</BODY>
</HTML>
<!-- Файл заставки окна товаров wares.htm -->
<HTML>
<BODY>
<H1>Здесь товары!</H1>
</BODY>
</HTML>
<!-- Файл заставки окна услуг service.htm -->
<HTML>
<BODY>
<H1>Здесь услуги!</H1>
</BODY>
</HTML>
 
Специальные эффекты, получаемые с помощью атрибута TARGET
 
Как уже упоминалось, имена фреймов не могут начинаться с символа подчеркивания, так как с него начинаются служебные имена, передающие броузеру особую информацию. Ниже перечислены специальные имена, каждое из которых используется для достижения определенного эффекта.

  • TARGET=”_blank”. Документ загружается в новое окно броузера.
  • TARGET=”_self”. Документ загружается в текущее окно.
  • TARGET=”_parent”. Документ загружается в родительский фрейм. Обычно это фрейм, стоящий в контейнере <FRAMESET>…</FRAMESET> перед текущим. Если родительского фрейма нет, то значение "_parent" становится тождественным "_self".
  • TARGET=”_top”. Документ загружается в самый верхний фрейм.
В основном эти служебные имена предназначены для того, чтобы тем или иным способом "вырваться" из текущей фреймовой структуры. Поэкспериментируйте с ними, чтобы понять, как можно загружать документы в различные окна.

 

Тег <IFRAME>
 
В HTML 4.0 появились плавающие (или встроенные) фреймы. С помощью тега <IFRAME> можно поместить один фрейм в обычный HTML-документ. Причем контейнер <FRAMESET>…</FRAMESET> здесь не нужен.

Закрывающий тег </IFRAME> обязателен!

 
Атрибуты

 

  • ALING. Определяет вид выравнивания. Принимает значения "left", "center", "right".
  • HEIGHT. Определяет высоту фрейма в пикселях
  • WIDTH. Определяет ширину фрейма в пикселях.
  • SRC, MARGINWIDTH, MARGINHEIGHT, SCROLLING, FRAMEBORDER, BORDER, BORDERCOLOR, NAME. Аналогичны рассмотренным ранее.

 

<IFRAME src=" Banner.html" width="468" height="60" 
	hspace="10" vspace="10" align="center" src="aa.htm">
Ваш браузер не поддерживает плавающие фреймы!
</IFRAME>
 
Тег <NOFRAMES>
 
Определяет, что будет показано в окне браузера если он не поддерживает фреймы.
 
<NOFRAMES>
Ваш браузер не поддерживает плавающие фреймы!
</NOFRAMES>

 

Чтобы загрузить фрейм без использования внешних файлов, необходимо положить в переменную HTML-код фрейма, а затем в качестве SRC тега <IFRAME> указать " JavaScript:parent.имя переменной".

 

< Script language="JavaScript">
var varFrame = "<html><body> HTML-код </body></html>";
</script>
...
<iframe src="javascript:parent.varFrame"></iframe>
 
Проблема адресной строки при фреймовой структуре сайта
 
При использовании фреймов на сайте используется одна страница, которая указывает местоположение фреймов.
Приведём пример такой страницы:
 
<HTML>
<HEAD>
<TITLE> ...  </TITLE>
</HEAD>
<FRAMESET ROWS="60px,*">
   <FRAME name="menu"  SRC="Навигационное меню.html">
   <FRAME name="main" SRC="Информационная часть.html">
</FRAMESET>
<NOFRAMES>
</NOFRAMES>
</HTML>
 
После загрузки этой страницы происходит загрузка информации во фреймы. Внутри этих фреймов происходят все переходы пользователя по страницам сайта. В адресной строке всегда отображается только путь к начальной странице, который не изменяется при переходах. Посетитель не знает, где он находится в данный момент.
Если посетитель сразу попадает не на главную страницу сайта (например, из поисковика), то это не приводит к воссозданию общей структуры фреймов. Это является причиной того, что владелец сайта не может указать адрес на внутреннюю страницу сайта.
Есть несколько решений этой проблемы
Ранее бал рассмотрен пример фреймовой структуры. Будем рассматривать различные способы решения этой проблемы именно на нём.
Идея заключается в следующем: при загрузке страницы, содержащей информационную часть, будем проверять окружение страницы и, если требуемая фреймовая структура отсутствует - создадим её при помощи скрипта.
 
Возможны три случая:
  • посетитель зашёл на страницу, содержащую фреймовую структуру;
  • посетитель зашёл на одну из информационных страниц;
  • посетитель попал на страницу с навигационным меню.
 
В первом случае после выполнения проверки никаких действий не требуется. Второй и третий практически идентичны, поэтому далее будем рассматривать только второй случай.
И так, посетитель попадает "куда не надо". В самое начало страницы вставляем скрипт, который будет создавать фреймовую структуру.
Реализация решения возможна как на стороне клиента, так и на стороне сервера. Основной недостаток реализации на стороне клиента очевиден - зависимость от возможностей и настроек клиента. Например, на компьютере пользователя запрещено выполнение скриптов. Второй вариант не будет работать, если на сервере нет поддержки PHP.
 
JavaScript-решение.
 
При таком подходе есть ограничение - не все браузеры поддерживают JavaScript, а в ряде случаев пользователи сами отключают скрипты.
Вначале проверяем окружение страницы, а затем, в случае отсутствия требуемой фреймовой структуры, создаём её.
Создадим файл frame.js:
 
if (window.name != "main")
    {     window.name="root";
         document.write("<frameset rows='60px,*'>");
         document.write("<frame name='menu' src='menu.html'>");
         document.write("<frame name='main' src='"+URL+"?'>");
         document.write("</frameset>");
    }

 

Вначале мы проверяем название окна, в который загружается страница: if (window.name != "main"). Если имя окна и название фрейма не совпадают, значит надо создать фреймовую структуру. Это делается динамически с использованием метода write объекта document.
К каждой странице сайта подключаем файл frame.js. Теперь страницы сайта будут иметь такую структуру:
 
<html>
 <head>
      ... 
 </head>
 <script language="JavaScript" src="frame.js"> </script>
 <body>
       ... 
</body>
</html>
При таком подходе к решению данной задачи исчезает необходимость в файле, содержащем фреймовую структуру.
 
PHP-решение
 
При таком подходе сайт станет доступным большему числу посетителей.
Проверять окружение страницы будем по другому (не так, как при использовании JavaScript). Загрузку документа во фрейм будем выполнять с параметром frames=yes. При открытии страницы проверяем этот параметр, и в случае необходимости динамически создаём фреймовую структуру. Ниже приведён код, который за это отвечает.
 
<?php
$frame=$HTTP_GET_VARS['frame'];
if ((!isset($frame))||($frame!='yes'))   {
   ?>
   <frameset rows="60px,*">
   <frame name="menu" src="menu.php">
   <frame name="main" src="index.php?frame=yes">
   </frameset>
   <noframes>
   </noframes>
<?php  } ?>

 

Помещаем код в файл frames.php. Теперь необходимо подключить его к каждой странице сайта. Ниже приведён пример такой страницы.

 

<html> <head>   <title> 	frames   </title> </head> 
<?php
require('frames.php');
?>
<body>
   	...
</body>
</html>

 

В данном случае, как и при реализации на стороне клиента нет необходимости отдельно создавать HTML документ, описывающий фреймовую структуру.

 
Таблицы HTML
Для создания таблиц используются следующие теги:
 
  • <TABLE> - Для обрамления самой таблицы;
  • <THEAD> - Определяет заголовки элементов таблицы;
  • <TBODY> - Определяет тело таблицы;
  • <TFOOT> - Определяет нижнюю, завершающую часть таблицы;
  • <CAPTION> - Для обрамления подписи; Атрибут ALIGN={TOP | BOTTOM} - размещение заголовка относительно таблицы (вверху или внизу таблицы)
  • <COLGROUP> - Задание свойств одного или более столбцов;
  • <COL> - Задание свойств одного или более столбцов;
  • <TR> - Для обрамления рядов таблицы;
  • <TD> - Для обрамления клеток
    • <TH> -- </TH> тех, что нужно показывать пожирнее, например заголовков;
    • <TD> -- </TD> обычных.
 
Атрибуты TABLE:
 
имя атрибута
возможные значения
смысл
примечания
ALIGN
LEFT, RIGHT
Определяет горизонтальное положение таблицы. Задание этого атрибута фактически определяет плавающую таблицу, которую может обтекать текст. При использовании этого атрибута по окончании таблицы должна следовать команда BR.
LEFT - Таблица прижимается влево (используется по умолчанию).
RIGHT – Таблица прижимается вправо. Текст в клетках прижимается к влево.
VALIGN
TOP, MIDDLE, BOTTOM
Определяет вертикальное расположение текста в таблице
 
WIDTH
целое
Определяет ширину таблицы в пикселах или в процентах от ширины экрана. Для задания n в процентах используется знак (%) процента.
броузер использует это значение, если оно не конфликтует с требованиями ширины в соседних ячейках в том же самом столбце
HEIGHT
целое
Определяет высоту таблицы в пикселах или в процентах от высоты экрана. Позволяет при необходимости растягивать таблицу на весь экран.
броузер использует это значение, если оно не конфликтует с требованиями высоты для других ячеек в той же самой строке
Задает в качестве фона графический файл.
 
BGCOLOR
 
Задает цвет фона.
 
BORDER
целое
Ширина рамки в пикселах
По умолчанию рамка не рисуется
BORDER COLOR
 
Задание цвета рамки
 
BORDER COLORLIGHT
 
Задание цвета для рамки с тенью (псевдо трехмерная графика)
Используется вместе с атрибутами BORDERCOLORDARK и BORDER
BORDER COLORDARK
 
Задание цвета для рамки с тенью (псевдо трехмерная графика
 
CELLPADDING
целое
Задает расстояние в пикселах между границей клетки и ее содержимым.
 
CELLSPACING
целое
Задает расстояние в пикселах между внешней рамкой таблицы и ее клетками внутри таблицы.
 
COLS
целое
Число столбцов в таблице. Данный атрибут ускоряет вывод таблицы, что особенно заметно для больших таблиц
 
FRAME
VOID, ABOVE, BELOW, HSIDES, LHS, RHS, VSIDES, BOX, BORDER
Определяет метод отрисовки рамки
VOID - Убрать наружную часть рамки.
ABOVE - Показывает верхнюю границу таблицы.
BELOW - Показывает нижнюю границу таблицы.
HSIDES - Показывает верхнию и нижнюю границу таблицы.
LHS - Показывает левую границу таблицы.
RHS - Показывает правую границу таблицы.
VSIDES - Показывает левую и правую границу таблицы.
BOX - Показывает полную рамку таблицы.
BORDER - Показывает полную рамку таблицы.
RULES
NONE, GROUPS, ROWS, COLS, ALL
Определяет как будут показаны разделительные линии ( внутренние границы ) таблицы
NONE - Устраняет все границы внутри таблицы.
GROUPS - Показывает горизонтальные границы между всеми группами таблицы. GROUPS определены элементами THEAD, TBODY, TFOOT, и COLGROUP
ROWS – Показывает горизонтальные границы между всеми рядами таблицы.
COLS – Показывает вертикальные границы между всеми колонками таблицы.
ALL - Показывает все границы.

 

Атрибуты TD, TH:
 
имя атрибута
возможные значения
смысл
примечания
NOWRAP
 
подавляет перенос слов
эквивалентно использованию непрерывных пробелов (&nbsp;) вместо обычных пробелов в пределах содержимого ячейки
ROWSPAN
целое
число строк, перекрываемых ячейкой
по умолчанию 1
COLSPAN
целое
число столбцов, перекрываемых ячейкой
по умолчанию 1
COLSPEC
 
ширина колонок в символах или в процентах
например COLSPEC="20%"
ALIGN
LEFT, CENTER, RIGHT, JUSTIFY, CHAR
горизонтальное выравнивание данных в ячейке
по умолчанию LEFT или атрибут ALIGN во включающем элементе TR,
Если задано ALIGN=”CHAR”, то задается свойство CHAR=”.”, с указанием относительно какого символа выравнивать.
Свойство CHAROFF=Length заставляет сдвигать ячейки, не содержащие заданного символа
VALIGN
TOP, MIDDLE, BOTTOM, BASELINE
вертикальное выравнивание данных в ячейке
перекрывается атрибутом VALIGN во включающем элементе TR
WIDTH
целое
ширина ячейки в пикселях
броузер использует это значение, если оно не конфликтует с требованиями ширины в соседних ячейках в том же самом столбце
HEIGHT
целое
высота ячейки в пикселях
броузер использует это значение, если оно не конфликтует с требованиями высоты для других ячеек в той же самой строке
BACKGROUND, BGCOLOR, BORDERCOLOR, BORDERCOLORLIGHT, BORDERCOLORDARK
Аналогично атрибутам TABLE

 

Атрибуты TR только ALIGN, VALIGN – аналогично для TD, TH
 
Пример:
Потребление пива сотрудниками вневедомственной охраны пивзавода
Ф.И.О литров сорт
Иванов Иван Иванович 133 Хейнекен

 

 

<TABLE>
<CAPTION>потребление пива сотрудниками вневедомственной охраны
	пивзавода</CAPTION>
<TR><TH>Ф.И.О</TH>
<TH>литров</TH>
<TH>сорт</TH>
</TR>
<TR><TD> Иванов Иван Иванович </TD>

<TD ALIGN=CENTER >133</TD>
<TD>Хейнекен</TD>

</TR>
</TABLE>

 

 

Атрибуты <TABLE>:
 
BORDER=2 - Ширина рамки в пикселях
ALIGN=CENTER
CELLPADDING=5 – расстояние между содержимым ячеек и границей таблицы
CELLSPACING=5 – расстояние между ячейками таблицы
WIDTH="50%" - ширина таблицы в пикселях или относительно размера окна просмотрщика в процентах
COLS=4 –Количество столбов в таблице
Клетка может занимать несколько строк или столбцов. Для этого используются аттрибуты ROWSPAN или COLSPAN в теге <TH> или <TD>. Для задания ширины таблицы или колонки используется аттрибут WIDTH, который может быть задан в процентах или пикселях. Вот пример:

 
образец таблицы

 
средний
повышенная пушистость
рост
вес
самцы
29см
6.2кГ
40%
самки
25см
4.9кГ
43%

 

<CENTER><TABLE BORDER=2 ALIGN=CENTER CELLPADDING=5 WIDTH="50%" >
<CAPTION><I>образец таблицы</I></CAPTION>
<TR><TH ROWSPAN="2"></TH>
<TH COLSPAN="2">средний</TH>
<TH ROWSPAN="2">повышенная
<BR>пушистость</TH>
</TR>
<TR><TH>рост</TH>
<TH>вес</TH>
</TR>

<TR><TH>самцы</TH>
<TD>29см</TD>
<TD>6.2кГ</TD>

<TD>40%</TD>
</TR>
</TABLE></CENTER>
 
<COL>
 
<COL ALIGN= {CENTER | LEFT | RIGHT} SPAN= n >
Задание свойств одного или более столбцов таблицы. Используется совместно с командой COLGROUP.Параметры, определяемые командой COL, "сильнее" параметров команды COLGROUP.

 

<COLGROUP>
 
Свойства, заданные командой COLGROUP, переопределяются комндой COL. Эта команда влияет на отрисовку линий, определяемых атрибутом RULES= команды TABLE.
<COLGROUP ALIGN={CENTER | LEFT | RIGHT}.SPAN= n - Задание числа последовательных столбцов.>
Пример :
 
<TABLE>
<COLGROUP ALIGN=RIGHT><COLGROUP SPAN=2 ALIGN=LEFT>
<TBODY>
<TR>
<TD>This column is in the first group and is right-aligned</TD>
<TD>This column is in the second group and is left-aligned</TD>
<TD>This column is in the second group and is left-aligned</TD>
</TR>
</TABLE>

 

Пример :

 

<TABLE>
<COLGROUP><COL ALIGN=RIGHT><COL ALIGN=LEFT>
<COLGROUP><COL ALIGN=CENTER>
<TBODY>
<TR>
<TD>This is the first column in the group and is right-aligned.</TD>
<TD>This is the second column in the group and is left-aligned.</TD>
<TD>This column is in a new group and is centered.</TD>
</TR>
</TABLE>

 

 
ISINDEX
Элемент разметки ISINDEX
 
Элемент разметки ISINDEX используется для указания поискового шаблона и унаследован от ранних версий Html. В HTML 4.0 этот контейнер не определен. Утрата данного контейнера объясняется широким применением форм и CGI-скриптов. Тем не менее все браузеры его поддерживают.
Шаблон ввода ключевых слов при наличии данного контейнера в заголовке HTML-документа отображается в виде дополнительного поля ввода рабочей области браузера, что нарушает компоновку HTML-страниц, выполненных с применением современных средств разметки. Больше всего ISINDEX подходит для документов с компоновкой в стиле HTML 2.0.
 
<HTML>
 <HEAD>
  <ISINDEX>
 </HEAD>
 <BODY>
  ...
 </BODY>
</HTML>
 
Применение элемента ISINDEX
В классическом варианте при использовании ISINDEX список ключевых слов, которые вводятся в поисковом шаблоне и разделены символом "+", присоединяется к базовому адресу HTML-документа после символа "?".
 
 HTTP://vbizsoft.kg/main.html?keyword+list 
 
Очевидно, что сам HTML-документ не способен выполнить поиск. Это может сделать только поисковая программа.
Присоединение запроса к документу унаследовано от первого сервера CERN (Conseil Europeen pour la Recherche Nucleaire, Европейская организация по ядерным исследованиям), в котором оно использовалось по аналогии с поисковыми серверами Gopher. Современный подход, основанный на HTML-формах, позволяет указывать URL поисковой программы, что дает большую свободу при разметке страниц.
Современный синтаксис ISINDEX позволяет применить аналогичный формам подход. Для этой цели в теге начала контейнера ISINDEX можно указать атрибут ACTION.
 
<ISINDEX ACTION=/cgi-bin/search.cgi>
 
Однако и традиционная форма контейнера позволяет обращаться к внешним CGI-скриптам. Сделать это можно либо в совокупности с контейнером BASE, либо с использованием SSI.
В первом случае для всего документа устанавливается базовый URL поисковой программы. Все URL гипертекстовых ссылок на другие страницы задаются в полной форме или базовый адрес переназначается после ISINDEX. Это вполне оправдано, если данная страница ничего, кроме поискового критерия и ссылки на домашнюю страницу Web-узла, не содержит.
 
HTML>
 <HEAD>
  <BASE HREF=http://vbizsoft.kg/cgi-bin/search.cgi>
  <ISINDEX>
 </HEAD>
 <BODY>
  <BASE HREF=http://vbizsoft.kg/>
 </BODY>
</HTML>
 
Во втором случае в документ встраивается обращение к CGI-скрипту, который реализует функции поисковой программы. Такое совмещение — свойство современного подхода к компоновке поисковых страниц. Как правило, и поисковый шаблон, и результаты поиска отображаются на одной странице, так как это позволяет корректировать запрос по мере получения результатов поиска. Встроенный в страницу скрипт анализирует переменные окружения сервера, и в случае отсутствия запроса может вообще никак не обнаруживать свое присутствие внутри документа.
Тег начала элемента может содержать два необязательных атрибута: ACTION и PROMPT. Синтаксис элемента ISINDEX в общем виде выглядит следующим образом:
 
<ISINDEX [PROMPT=текст] [ACTION=URL]>

 

Первый необязательный атрибут тега начала ISINDEX — PROMPT. Он позволяет вместо стандартного приглашения к вводу ключевых слов задать приглашение, которое, по мнению автора документа, лучше отражает суть поискового шаблона. Например, можно задать приглашение к вводу ключевых слов на русском языке.

 

 

<ISINDEX PROMPT="Строка для поиска:">

 

 

 

ISINDEX — отмирающий элемент разметки. Однако он определил формат обмена данными ISINDEX. Данные в этом формате передаются от браузера серверу в случае применения ISINDEX и в случае прямого указания дополнительных параметров после символа "?" в гипертекстовой ссылке.

 
BASE

Элемент разметки BASE

Элемент разметки BASE служит для определения базового URL для гипертекстовых ссылок документа, заданных в неполной (частичной) форме. Кроме того, BASE позволяет определить мишень (окно) загрузки документа по умолчанию при выборе гипертекстовой ссылки текущего документа.
Разметка гипертекстовых ссылок обычно выполняется как разметка в частично заданных (относительных) адресах, когда URL задается относительно текущего местоположения документа.
 
<A HREF=../next_level/document. Html>...</A>
 
В этом случае в качестве базы по умолчанию выбирается каталог, в котором размещен HTML-документ (./). Такой стиль разметки удобен тем, что при переносе всего дерева документов в другое место не потребуется менять систему гипертекстовых ссылок внутри документов. Кроме того, распространению этого стиля способствует и сама архитектура World Wide Web. Наиболее тесные связи между документами задаются только в рамках одного Web-узла. Связей данного узла с остальными существенно меньше, и их можно прописать непосредственно в ссылках в полной форме.
Элемент BASE может размещаться только в области заголовка (HEAD), в котором может быть только один элемент BASE.
 
<BASE HREF= HTTP://vbizsoft.kg/start/>
<HTML>
<HEAD>
  <BASE HREF=http://vbizsoft.kg/ CGI-bin/>
  ...  </HEAD>
 <BODY>
  <BASE HREF=http://vbizsoft.kg/start/>
  ...  </BODY>
<HTML>
 
Наиболее часто BASE встречается на страницах узлов, которые имеют "зеркала". Часть документов основного сервера по разным причинам на "зеркальный" сервер не переносится. В этом случае документ с принудительно заданным базовым URL всегда будет ссылаться на основной сервер. Он оказывается "белой вороной" среди прочих документов Web-узла. При этом такая схема часто используется в совокупности с запретом на кэширование данного документа как клиентом (браузером), так и proxy-серверами.
Существуют различия и при определении базового URL по умолчанию при обращении к страницам, которые различны по своей природе. Если для обычного файла базовым адресом по умолчанию является адрес каталога, где хранится данный файл, то для страниц, которые генерируются "на лету", возможны и другие базовые адреса по умолчанию. Например, для страниц, сгенерированных CGI-скриптом, адресом по умолчанию является URL данного скрипта. Если из такой страницы снова вызвать скрипт, как частично заданную ссылку, то имя скрипта будет передано в качестве параметра скрипту, который сгенерировал данную страницу.
 
<A HREF=http:/vbizsoft.kg/cgi-bin/ Script/vbizsoft.kg?name=value>
 ...
</A>
 
Базовый адрес: http://vbizsoft.kg/cgi-bin/script/vbizsoft.kg
Если скрипт вызовет сам себя по частично заданной ссылке, то он себя не найдет.
Возможность определения мишени загрузки позволяет не указывать атрибут TARGET в теге начала контейнера A (anchor):
 
<A HREF=vbizsoft.kg.htm TARGET=left>vbizsoft</A> 
 
Потребность в этом возникает при организации постоянно отображаемых меню. Такое меню может быть реализовано либо во фрейме, либо в окне. При этом информационные страницы Web-узла, которые загружаются при активизации гипертекстовых ссылок, будут загружаться в другое окно или фрейм.
Особенно полезен атрибут TARGET на страницах с вызовом скриптов, если результат работы скрипта нужно загрузить в определенное окно (фрейм).
Тег начала контейнера содержит один обязательный атрибут, HREF, и может содержать один необязательный атрибут, TARGET. Синтаксис контейнера BASE в общем виде выглядит следующим образом:
 
<BASE HREF="http://www.vbizsoft.kg/main.html">
<BASE HREF=http://www.vbizsoft.kg/main.html TARGET=new>
Применение BASE в современных документах ограничено в силу разных причин. В сложных случаях можно пользоваться указаниями URL в полной форме.
 
<< Первая < Предыдущая 1 2 3 Следующая > Последняя >>

Страница 2 из 3

Новости антивируса Dr. Web


Наши партнёры