 |
|
 |
 |
|
|
JavaScript - это язык для составления сценариев, позволяющих выполнять разные действия непосредственно на машине пользователя. Распологаются данные сценарии внутри HTML документов... |
|
|
|
перечислены несколько способов открытия нового окна, а также указаны их достоинства и недостатки... |
|
|
|
Динамическое изменение стилей элементов поддерживается почти в одинаковой форме всеми современными браузерами... |
|
|
|
Доступ к таблицам стилей через коллекцию document.styleSheets и их изменение, поддерживают Internet Explorer, Gecko-браузеры (Mozilla, Firefox и т.д.), а также KHTML-браузеры (Konqueror, Safari), Opera (начиная с версии 9.0)... |
|
|
|
Различные способы обращения к серверу без перезагрузки страницы принято называть общим термином "Remote Scripting". Здесь будут собраны и описаны преимущества и недостатки нескольких наиболее распространенных подходов... |
|
|
|
Работа со строками, Обработка событий, Работа с CSS-классами, Работа с объектами и функциями... |
|
|
|
Для работы с отмеченной областью текстовых полей в Internet Explorer существует объект selection, предоставляющий широкие возможности. Однако, когда требуется выполнить элементарную операцию, к примеру выделение определённого слова в тексте, вдруг выясняется, что сделать это очень сложно. Хотелось бы, чтобы текстовые поля в Internet Explorer поддерживали свойства selectionStart/selectionEnd и метод setSelectionRange(), реализованные в Gecko-браузерах... |
|
|
|
Данный набор функций позволяет отправлять данные на сервер при помощи XMLHttpRequest так, что на сервере они будут восприниматься как данные обычной POST-формы. Поскольку кодирование данных осуществляет функция escapeURIComponent(), всегда используется кодировка UTF-8... |
|
|
|
Иногда веб-дизайнеры, увлёкшись сочинением ни на что не похожего суперстиля для сайта, сталкиваются с необходимостью вписать в этот свой уникальный стиль стандартные элементы управления HTML-форм. Стандартные элементы, хотя и всем привычны, выглядят довольно коряво, к тому же могут иметь совершенно разный вид на разных платформах. Естественно, в этом случае у дизайнера возникает желание совсем отказаться от стандартных элементов управления и нарисовать свои собственные... |
|
|
 |
 |
 |
 |
Данный набор функций позволяет отправлять данные на сервер при помощи XMLHttpRequest так, что на сервере они будут восприниматься как данные обычной POST-формы. Поскольку кодирование данных осуществляет функция escapeURIComponent(), всегда используется кодировка UTF-8.
Работает в браузерах IE5.5+, Mozilla, Safari. Работает и в Опере 8+, но версия 8.00 Оперы не поддерживает метод setRequestHeader, то есть данные на сервер передаются без заголовка Content-Type: application/x-www-form-urlencoded (исправлено в версии 8.01). В принципе, серверными методами эту проблему можно обойти.
/* Создание XMLHttpRequest-объекта Возвращает созданный объект или null, если XMLHttpRequest не поддерживается */ function createRequestObject() { var request = null; try { request=new ActiveXObject(\'Msxml2.XMLHTTP\'); } catch (e){} if(!request) try { request=new ActiveXObject(\'Microsoft.XMLHTTP\'); } catch (e){} if(!request) try { request=new XMLHttpRequest(); } catch (e){} return request; } /* Кодирование данных (простого ассоциативного массива вида { name : value, ...} в URL-escaped строку (кодировка UTF-8) */ function urlEncodeData(data) { var query = []; if (data instanceof Object) { for (var k in data) { query.push(encodeURIComponent(k) + \"=\" + encodeURIComponent(data[k])); } return query.join(\'&\'); } else { return encodeURIComponent(data); } } /* Выполнение POST-запроса url - адрес запроса data - параметры в виде простого ассоциативного массива { name : value, ...} callback - (не обяз.) callback-функция, которая будет вызвана после выполнения запроса и получения ответа от сервера */ function serverRequest(url, data, callback) { var request = createRequestObject(); if(!request) return false; request.onreadystatechange = function() { if(request.readyState == 4 && callback) callback(request); }; request.open(\'POST\', url, true); if (request.setRequestHeader) request.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"); request.send(urlEncodeData(data)); return true; } |
|