
- •1. Телекоммуникационные сети с коммутацией сообщений, каналов и пакетов
- •2. Понятие веб-технологии
- •3. Понятие языков разметки
- •4. Синтаксис html, структура веб-страницы
- •5. Синтаксис css
- •6. Эволюция архитектур веб-приложений
- •7. Возможности JavaScript
- •8. Понятие веб-сервиса
- •9. Индексация пространственных данных
- •10. Кластеризация пространственных данных
- •11. Кэширование пространственных данных
- •12. Картографические веб-сервисы
- •13. Структура запроса http. Различие запросов get и post
- •14. Серверные технологии создания веб-приложений
- •15. Архитектура Flex-приложения
- •16. Перспективы развития веб-технологий
7. Возможности JavaScript
Возможности JavaScript в браузерах. Понятие DOM. Пример модификации элементов документа HTML. Политика общего происхождения. Ограничения JavaScript. Новые возможности JavaScript в HTML 5.
Современный JavaScript — это «безопасный» язык программирования общего назначения. Он не предоставляет низкоуровневых средств работы с памятью, процессором, так как изначально был ориентирован на браузеры, в которых это не требуется.
В браузере JavaScript умеет делать все, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
Создавать новые HTML-теги, удалять существующие, менять стили элементов, прятать, показывать элементы и т.п.
Реагировать на действия посетителя, обрабатывать клики мыши, перемещение курсора, нажатие на клавиатуру и т.п.
Посылать запросы на сервер и загружать данные без перезагрузки страницы (это технология называется "AJAX").
Получать и устанавливать cookie, запрашивать данные, выводить сообщения
Основным инструментом работы и динамических изменений на странице является DOM (Document Object Model) — объектная модель, используемая для XML/HTML-документов.
Согласно DOM-модели, документ является иерархией, деревом.
Каждый HTML-тег образует узел дерева с типом «элемент». Вложенные в него теги становятся дочерними узлами. Для представления текста создаются узлы с типом «текст».
Проще говоря, DOM — это представление документа в виде дерева тегов, доступное для изменения через JavaScript
Политика общего происхождения: .
Ограничения JavaScript:
JavaScript не может читать/записывать произвольные файлы на жесткий диск, копировать их или вызывать программы. Он не имеет прямого доступа к операционной системе.
Современные браузеры могут работать с файлами, но эта возможность ограничена специально выделенной директорией — песочницей. Возможности по доступу к устройствам также прорабатываются в современных стандартах и, частично, доступны в некоторых браузерах.
JavaScript, работающий в одной вкладке, почти не может общаться с другими вкладками и окнами. За исключением случая, когда он сам открыл это окно или несколько вкладок из одного источника (одинаковый домен, порт, протокол).
Есть способы это обойти, и они раскрыты в учебнике, но для этого требуется как минимум явное согласие обоих сторон. Просто так взять и залезть в произвольную вкладку с другого домена нельзя.
Из JavaScript можно легко посылать запросы на сервер, с которого пришла страничка. Запрос на другой домен тоже возможен, но менее удобен, т.к. и здесь есть ограничения безопасности.
HTML 5 — эволюция стандарта HTML, добавляющая новые теги и, что более важно, ряд новых возможностей браузерам.
Вот несколько примеров:
Чтение/запись файлов на диск (в специальной «песочнице», то есть не любые).
Встроенная в браузер база данных, которая позволяет хранить данные на компьютере пользователя.
Многозадачность с одновременным использованием нескольких ядер процессора.
Проигрывание видео/аудио, без Flash.
2d и 3d-рисование с аппаратной поддержкой, как в современных играх.
Тенденция: JavaScript становится все более и более мощным и возможности браузера растут в сторону десктопных приложений.