русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Старые броузеры и сценарии


Дата добавления: 2015-07-09; просмотров: 464; Нарушение авторских прав


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

Для скрытия сценария данным способом применяется комбинация комментариев HTML и комментариев языка разработки сценария. Старый броузер обнаружит неизвестный тег <SCRIPT>, пропустит его и обнаружит тег HTML - начало комментария, а далее исключит из обработки фрагмент документа до тега HTML, закрывающего комментарий. Современные броузеры "обучены" данному трюку и не обратят на него внимания, но перед закрывающим тегом комментария HTML надо поставить комментарий языка разработки сценария, для исключения данного фрагмента из интерпретации броузером.

 

Примеры:

<SCRIPT TYPE="text/javascript"><!—

alert("Трам Пам Пам");

// -->

</SCRIPT>

<SCRIPT TYPE="text/vbscript">

<!—

Alert "Трам Пам Пам"

' -->

</SCRIPT>

 

 

Примеры и рекомендации по использованию сценариев

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

 

Пример 10. Определение Web-броузера клиента.

В основу броузеров MSIE и NN положены разные объектные модели документа - DOM (Document Object Model) и принципы обработки событий (MSIE-метод всплытия, NN-метод перехвата). Без учета данных особенностей невозможна разработка универсальных сценариев для Web-страниц:

 

<HTML>

<HEAD>

<TITLE>Сведени о броузере</TITLE>

</HEAD>

<BODY BGCOLOR ="SILVER", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY">



<h1>Для навигации в Web вы используете:</h1>

<hr>

<ul>

<SCRIPT TYPE="text/javascript">

document.write("<li>Имя программы: <b>"+navigator.appName+"</b>");

document.write("<li>Версия: <b>"+navigator.appVersion+"</b>");

document.write("<li>Пользовательский агент: <b>"+navigator.userAgent+"</b>");

document.write("<li>Платформа: <b>"+navigator.platform+"</b>");

</SCRIPT>

</ul>

<hr>

</BODY>

</HTML>

 

Пример 11. Элементы DHTML в документах.

Документы DHTML содержат сценарии, позволяющие изменять свойства CSS (видимость, оформление и даже содержание) элементов документа, в зависимости от действий пользователя. При использовании в сценариях свойств CSS элементов документа необходимо знать правила преобразования имени свойства CSS к имени свойства JavaScript: из имени свойства удаляются все тире, а каждый символ имени свойства после тире заменяется на прописной символ. Например: border-color преобразуется в borderColor, а font-size в fontSize;

 

<HTML>

<HEAD>

<TITLE>Элементы DHTML в документах</TITLE>

<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">

<SCRIPT TYPE="text/javascript">

// определение броузера

function isMSIE() {

if (navigator.appName == "Microsoft Internet Explorer") return true;

else return false;

}

</SCRIPT>

</HEAD>

<BODY BGCOLOR ="WHITE", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY">

<H1 ALIGN=CENTER>Демонстрация элементов DHTML в документе</H1>

<HR>

<H2>Динамические слои</H2>

<p>Управляя свойствами слоев из сценариев можно реализовать массу динамических элементов (<i>раскрывающиеся меню и списки, изменющиеся рисунки, дополнительные поля форм и т.д.</i>):

<p>Например вот так:

<FORM NAME="family">

<p><b>На кого глядеть будем ?</b>

<p><INPUT TYPE="radio" NAME="HorW" VALUE="H" CHECKED

onClick = "if ( isMSIE() ) document.all.husb.style.visibility = '';

else document.layer[1].visibility = '';"> Я

<p><INPUT TYPE="radio" NAME="HorW" VALUE="W"

onClick = "if ( isMSIE() ) document.all.husb.style.visibility = 'hidden';

else document.layer[1].visibility='hidden';"> Жена

</FORM>

<IMG ID="wife" SRC="girl1.gif" BORDER=0 ALT="Лицо" STYLE="position:absolute; top:260; left:150">

<IMG ID="husb" SRC="boy2.gif" BORDER=0 ALT="Морда" STYLE="position:absolute; top:260; left:150">

<HR>

<H2>Динамические ссылки</H2>

<p>Обрабатывая различные события можно динамически изменять стиль ссылок (<i>проще это реализовать через псевдоклассы в таблице стилей</i>):

<p><b>В MSIE можно слелать так: </b> Заходи сюда - не пожалеешь

<A href="#"

onMouseOver = "if ( isMSIE() ) this.style.textTransform='uppercase';"

onMouseOut = "if ( isMSIE() ) this.style.textTransform='none';"

onClick = "alert('Извиняйте, это лишь пример !');">Горячо !!!</A>

<p><b>Или даже вот так : </b> Заходи сюда - не пожалеешь

<A href="#"

onMouseOver = "if ( isMSIE() ) this.innerText='НУ ОЧЕНЬ УЖ ГОРЯЧО !';"

onMouseOut = "if ( isMSIE() ) this.innerText='Горячо !!!';"

onClick = "alert('Извиняйте, это лишь пример !');">Горячо !!!</A>

<p><b>Графические ссылки можно оформить так: </b> Заходи сюда - не пожалеешь

<A href="#"><IMG src="hot.gif" align="middle" border=0

onMouseOver = "this.src='ahot.gif';"

onMouseOut = "this.src='hot.gif';"

onClick = "alert('Извиняйте, это лишь пример !');"></A>

<HR>

<H2>Динамические подсказки</H2>

<p>В статусной строке броузера можно выводить подсказки об выделенных в текущий момент элементах документа:

<p><b>Например описание ссылки: </b>

<a href="#"

onMouseOver = "window.status='Переход на узел WWW.SITE.RU где ...'; return true;"

onMouseOut = "window.status=''; return true;">Ссылка с подсказкой</a>

<p><b>Или описание рисунка: </b>

<IMG SRC="boy2.gif" BORDER=0 ALIGN="MIDDLE"

onMouseOver = "window.status='Раньше я выглдел гораздо лучше !'; return true;"

onMouseOut = "window.status=''; return true;">

<HR>

</BODY>

</HTML>

 

 

Пример 12. Элементы анимации в документах.

 

Анимация основана на изменении средствами сценария, таких свойств CSS элементов, как видимость, размер и положение элемента (как правило слоев документа).

 

<HTML>

<HEAD>

<TITLE>Анимация в документах !</TITLE>

<SCRIPT TYPE="text/javascript">

var pos1 = 0;

var pos2 = 0;

var speed1 = Math.floor(Math.random() * 10)+25;

var speed2 = Math.floor(Math.random() * 10)+25;

function ctrlRun() {

pos1 = (pos1 > 600) ? 0 : pos1 + speed1;

pos2 = (pos2 > 600) ? 0 : pos2 + speed2;

switch(navigator.appName) {

case "Netscape": // броузер NN

document.layers[0].left = pos1;

document.layers[1].left = pos2;

window.setTimeout("ctrlRun()", 250);

break;

case "Microsoft Internet Explorer": // броузер MSIE

document.all.men.style.left = pos1;

document.all.wom.style.left = pos2;

window.setTimeout("ctrlRun()", 250);

break;

default:

window.alert("На чем вы работаете ?");

}

}

</SCRIPT>

</HEAD>

<BODY BGCOLOR ="BLACK", TEXT="WHITE", LINK="WHITE", ALINK="RED", VLINK="SILVER">

<h2>Кто быстрее: бегун или бегунья ?</h2>

<IMG ID="men" SRC="people1.gif" BORDER=0 STYLE="position:absolute; top:150; left:0">

<IMG ID="wom" SRC="people2.gif" BORDER=0 STYLE="position:absolute; top:300; left:0">

<FORM NAME="form1">

<INPUT TYPE="BUTTON" NAME="btnStep" VALUE="Старт-Бегунов" onClick="ctrlRun();">

</FORM>

</BODY>

</HTML>

Пример 13. Обработка данных из форм.

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

 

<HTML>

<HEAD>

<TITLE>Проверка данных в формах</TITLE>

<SCRIPT TYPE="text/javascript">

function valid() {

if (document.form1.fio.value.length < 5) {

window.alert("Введите имя !");

return false;

}

if (document.form1.tel.value.length < 3) {

window.alert("Введите телефон !");

return false;

}

if (document.form1.edu.value.length < 10) {

window.alert("Заполните сведения об образовании !");

return false;

}

return true;

}

</SCRIPT>

</HEAD>

<BODY BGCOLOR ="WHITE", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY">

<H1 ALIGN=CENTER>Заполните пожалуйста данные</H1>

<HR>

<FORM NAME="form1" ACTION="mailto:lst@user.ru" onSubmit = "return valid();">

<table width=100% align=center>

<col width=35% align=left valign=top>

<col align=left valign=top>

<tr>

<th>Введите ваше ФИО:

<td>

<INPUT TYPE="text" NAME="fio" SIZE=30 MAXLENGTH=40>

<tr>

<th>Введите телефон:

<td>

<INPUT TYPE="text" NAME="tel" SIZE=9 MAXLENGTH=9>

<tr>

<th>Сведения об образовании:

<td>

<TEXTAREA NAME="edu" TITLE="Образование" ROWS=5 COLS=30>

</TEXTAREA>

</table>

<p align=center><INPUT TYPE="reset" NAME="but2" VALUE="Очистить форму">

<INPUT TYPE="submit" NAME="but3" VALUE="Отправка данных">

</FORM>

<HR>

</BODY>

</HTML>

Пример 14. Управление окнами броузера.

Для управления окнами броузера средствами сценария используются методы JavaScript: window.open() и window.close().

 

<HEAD>

<TITLE>Работа с окнами в JavaScript</TITLE>

<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">

</HEAD> <BODY BGCOLOR ="WHITE", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY">

<H1 ALIGN=CENTER>Управление окнами броузера из сценария</H1>

<HR>

<FORM NAME="form1">

<p><INPUT TYPE="button" NAME="open" VALUE="Открыть окно"

onClick="newWin=window.open('','newWin','toolbar=no, status=no, width=250, height=250');">

<p><INPUT TYPE="button" NAME="close" VALUE="Закрыть окно"

onClick="newWin.close();">

</FORM>

<HR>

<p>Для загрузки данных в созданное окно необходимо передать URL загружаемого ресурса, как первый параметр метода - <b>open</b> (<i>в нашем примере он пустой</i>).

</BODY><HTML>

 

</HTML>

 

Знания методов и средств разработки сценариев интерактивного управления документами, позволит вам перейти на качественно новый уровень профессионального мастерства.

 

Список литературы

1. Гончаров А. HTML в примерах. – СПб.: Питер, 1997.

2. Кирсанов Д. Веб-дизайн: книга Дмитрия Кирсанова. – СПб: Символ-Плюс, 1999.



<== предыдущая лекция | следующая лекция ==>
 | Основные понятия


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.481 сек.