Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Начало рассылки статей сайта по Javascript.


 javascript.aho.ru Javascript в браузерах: разработка, документация, примеры. Выпуск # 1, 2006-04-28
краткое содержание

Начало рассылки статей сайта по Javascript.

В выпуске - 3 статьи: вступительное слово к рассылке; список ссылок на учебники по Javascript - о том, где в онлайне достать современную документацию; "Управление элементами форм" - несложная, но плодотворная задача программирования веб-интерфейса. Содержание показывает, как в основном будет выглядеть письмо в этой рассылке и статьи в ней.
Существует дней: 8
Автор: 12345c
Другие выпуски:
Рассылка 'Упражнения по яванскому письму. Javascript.'
 
Вступительное слово.
22.04.06, 8:16

Анонс рассылки. (Что мы устали ждать от них?)

На горизонте - новая звезда. Сколько их, безвестных, отсветило. Взойдут, заявят о себе. Как часто их первая вспышка была последней. Чем ярче вспышка, тем быстрее она погаснет, если силы её - тот же один ослик. "Я могу желание исполнить... Было у неё немного сил." Было много таких начинаний.

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

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

Уровень: для всех
-v---

Обзор ссылок
21.04.06, 4:05

Хорошая докумен-
тация.

Javascript в последние несколько лет быстро развивается. В браузере Netscape 4 он был ещё своенравным трудноуправляемым придатком с множеством ошибок и особенностей. Мало кто верил, что идея его сильна и жизнеспособна. Все видели, сколько усилий приложила Microsoft в продвижении своего продукта и как долго он был тоже достаточно сырым. Предполагал ли кто, что небольшим компаниям и группам под силу написать грамотный браузер, не худший, чем IE? Жизнь показала, что вполне. Скрипты стали надёжной частью страниц. Многие учебники по JS устарели, потому что описывают язык уровня 3-х версий NN, такие не внесены в список ссылок.
Cамоучитель по JavaScript. Дж.Бернс, 2000. - если нужен онлайновый пошаговый учебник с примерами для понимания азов. Не потерял и не потеряет актуальности, так как понятия базовые.
HTML в примерах v1.1 [rar, 410 К] V.Drigalkin, 2003г. - пример хорошего дизайна в chm, но тем разобрано мало. Если бы так был сделан полный справочник... Тем не менее, все темы подобраны для начинающего вебмастера, и в сочетании с хорошей подачей материала весьма рекомендуется для начального ознакомления с сайтостроительством на статических страницах html.
JavaScript - устаревший по времени издания, но не по изучаемым базовым методам языка. Можно брать за основу с уклоном в сторону математики. (Автора предстоит выяснить.)
Dynamic HTML С.Айзекс, 1998. - Несмотря на год, очень ценная и последовательная книга времён IE4-5.0 . Известна в бумажном виде.
Много фактически существующих книг. Но далеко не все современны. Внимания заслуживает от MS - описание JScript, VBScript, Windows Script Host в chm-формате.
Клиентское Web-программирование - представлен как учебник, но по систематичности и глубине годится как справочник.
Learn JavaScript - (ан.) онлайн-учебник очень силён своей удобной подачей примеров. Изучаются базовые понятия на глубоком уровне - то, чего часто не хватает традиционным учебникам.
JavascriptBibleGoldEdition.rar - (ан.) Danny Goodman, "JavaScript Bible, Gold Edition", 2001, 33.2 МБа. Для NN6-IE5.5. Описания, объектов, методов, свойств и прерываний, которые составляют около 40% книги из 2200 страниц, идут с неизменной шапкой, указывающей, в каких версиях браузеров появился элемент. Все коды структурированы и читабельны, как и во всей серии "библий". Если нужна неслабая книга, эта подходяща.
JavaScript Programmer's Reference - (ан.) Cliff Wootton, 2001, 2600 стр., 17 МБа. Уровня NN6, IE5.5, Оперы-5. Тоже тщательно отслеживает возникновение элементов, ссылки на стандарты и с отличным структурированием описаний. Алфавитная энциклопедическая сортировка. В каких тегах поддерживаются, какие свойства имеют. Есть фильтры, доступ к джава-классам, DOM, естественно, препроцессор IE, RegExp, XML-объект. Ещё одна неслабая книга, где лучше всего искать ответы на вопросы.
JavaScript в веб-дизайне (ру.), Дронов В.А., 36 МБа. Наиболее основательная книга на русском языке, ведущая диалог в формате учебника. Как везде, нужно тщательно фильтровать читаемое и пропускать всё, что относится к Netscape 4. В этом плане формат справочника (Cliff Wootton) лучше, потому что несовременное в нём при поиске описаний пропускается автоматически.
Много ссылок на учебники и справочники, большинство из которых устарело по времени написания или неполно. Во всяком случае, можно поискать среди разных стилей для начинающих свою наилучшую форму восприятия.
QuirksMode.org - (ан.) описание веб-клиентских технологий с интересной подачей материала.
Компактно подобранные уроки для начинающих. (рус.) 2004, Куницкий Сергей. Всё, имеющееся на сайте, практично. Некоторые примеры скриптов, 2004-05г. .
Learn Advanced JavaScript Programming. (ан.) Author: Yehuda Shiran and Tomer Shiran. (Забыли отметить, что 1998г.)

Уровень: для всех
-v---

Статья.
22.04.06, 8:16

Управление элементами форм.

Рассмотрим для начала несложную программистскую задачу, которая не всегда рассматривается в учебниках, но часто востребована при построении сайтов. На её примере увидим, что управление элементами форм, страниц есть управление элементами структуры документа. Достаточно знать программный доступ к ним, чтобы уметь делать многое.

Поля ввода форм - практически, первое, на что была нацелена "мощь" языка JS на заре браузеростроения в Netscape 2.0. Доступ к полям был примерно таким же гибким, как сейчас доступ к любому объекту документа. Если у программиста возникает вопрос, как делать операции с полями ввода, значит, он не знает элементарных, базовых свойств объектов и имеет возможность научиться ими управлять.

Кроме старых свойств, доставшихся в наследство от NN2 и описанных во всех учебниках (value, name, this.form), имеются все остальные рядовые свойства объектов. Не для всех элементов форм в разных браузерах они одинаково хорошо управляются. Так, нельзя заменить вид радиокнопки во всех браузерах, изменить высоту тега <select> в IE, цвет фона <select> в Опере. Но те, которые управляются, делают это легко и наглядно.

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

Вопрос: как с помощью одного чекбокса управлять доступностью нескольких других для изменения?

Пример решения. Воспользуемся свойством вызова массива по общему имени и изменим свойство disable в зависимости от выбранности общего чекбокса.

<body onLoad=f(d.getElementById('common')>
<input type=checkbox name=group id=c1><br> 
<input type=checkbox name=group id=c2 checked><br>
<input type=checkbox name=group id=c3><br>
<br>
<input type=checkbox name=common onclick=f(this)><br>
<script>d=document;
function f(t){for(i=0;i<d.getElementsByName('group').length;i++)
d.getElementsByName('group')[i].disabled=!t.checked;}
</script>

Если нам нужны разные имена? Тогда общий признак выбираем другой - часть имени, имя класса, часть ID.

Вопрос: как с помощью списка "select" или дать возможность выбирать 3 независимые радиокнопки, или выбрать в списке одно из 3 значений, блокируя при этом радиокнопки?

Пример решения. Выделим относящиеся к группе кнопки общим классом, используем оператор выбора объекта для краткости и вместе с деактивацией кнопок сбросим их значения.

<select onChange="f3(this)">
<option>Выберите цифру</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<script>d=document;
function f3(t){
for(i=0;i<d.getElementsByTagName('INPUT').length;i++)
with(d.getElementsByTagName('INPUT')[i]){
if(className=='g1')
disabled=!(t.selectedIndex==0);checked=!1;}
}
</script> 1<input class=g1 type=radio name=r1> <br>
2<input class=g1 type=radio name=r2> <br>
3<input class=g1 type=radio name=r3> <br>

Примеры показывают, что для решения задач управления свойствами нужно знать несколько (желательно все) свойств и менять их той же простой логикой, какой описывается постановка задачи. Узнать свойства объектов удобнее всего в справочнике. Знать язык - это знать свойства возможных в нём объектов, свободно изменять значения свойств, как в тегах, так и в скрипте.

Уровень - для начинающих
-v---

Примечание.
22.04.06, 8:16

А как же яванское письмо?..

Справка для тех, кто пришёл, чтобы увидеть материалы по яванскому письму. Оказывается, оно существовало задолго до того, как приобрело свой настоящий смысл в джаваскрипте на веб-страницах, и называлось Javanese script, Charakan или Caracan script, произошло от Kavi script, по которым можно найти материалы .
Другие ссылки: Kavi (Wikipedia.com)

Уровень - для всех, кто не в курсе
-v---

 javascript.aho.ru , © I.Svetlov, 2005-2006 
Текущая очерёдность плана статей (подписчики могут корректировать через голосование).
1. Варианты проверки правильности заполнения полей ввода: диапазон чисел, только числа, не кириллица, подтверждение отправки формы.
2. Автоматический выбор группы опций в мультиселект-списке, многоуровневое меню в <select>,
3. Как писать тексты с доступом через JS без экранирования специальных символов (&lt; и другие).
4. select и list - в них есть много общего. Как и с меню навигации. Эмулятор селекта.
5. Древовидное меню, подход к данным, отделение данных от представления.
6. Многонедельный календарь со ссылками. (По списку строится календарь.)

Если обнаружилось, что приходили не все письма, пожалуйста, сообщите об этом автору рассылки, чтобы помочь разобраться, какие коды некоторые почтовые серверы не пропускают. Было замечено, что HTML-коды одного примера не проходили через POP-сервер с программой SpamAssassin версии 3.1.0 .

 


В избранное