Разработка больших сайтов Сумин Андрей Разработчик интерфейсов info@jsx.ru.

Презентация:



Advertisements
Похожие презентации
Отладка программ на JavaScript. FireBug.. FireBug – дополнение к FireFox Возможности: Анализ html-кода страницы Вычисление CSS Работа с JavaScript Анализ.
Advertisements

Ненавязчивый Unobtrusive JavaScript Сергеев Алексей «Открытые Веб-Технологии»
Действия выполняются в момент загрузки кода в браузер Действия выполняются в момент щелчка на ссылке.
Разгони свой сайт Лекция 7: «Ненавязчивый» JavaScript Мациевский Николай 1 / 22 webo.in.
Объектная модель DOM javascript. Иерархия классов.
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
Богданов Марат Робертович Современные веб-технологии. Подробный курс Введение в язык программирования JavaScript.
jQuery jQuery библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – класс Control Из цикла лекций «Технологии разработки.
Центр-Т Система защищенной сетевой загрузки программного обеспечения на терминальные станции.
JavaScript Лекция 8. JavaScript JavaScript - новый язык для составления скриптов, разработанный фирмой Netscape. С помощью JavaScript можно легко создавать.
Проф. В.К.Толстых, Применение ASP.NET AJAX Extensions Asynchronous JavaScript And XML (Асинхронный JavaScript и XML) Основано на существующих.
это десятки миллионов Web-серверов Интернета, содержащих Web-страницы, в которых используется технология гипертекста. Технология WWW позволяет создавать.
Вставка изображений в Web – страницы. В Web- страницу можно вставлять изображения, хранящиеся в графических файлах трех типов : GIF, JPEG, PNG. HTML –
Всемирная паутина (WWW) подготовил учитель информатики Курилов И.А. Технологии WWW, браузеры.
Open InfoSec Days Томск, 2011 Глава 1. Атаки на веб-приложения и методы защиты Занятие 3. File Inclusion.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Введение в Java Script УРОК 1. Пример ПЕРВЫЙ Открыть программу блокнот и записать следующую команду: Сохранить файл С расширением JS загрузить файл Двойным.
© КНТЭУ, каф.ЭКИС, доц. Шклярский С.М. Web-программирование Практическая работа 3 Введение в JavaScript 1.Синтаксис, переменные и основные конструкции.
RIA-приложение Fuzzle CMS*: разбор полётов *Fuzzle CMS – система управления Flash-сайтом на базе Flex и PHP.
Транксрипт:

Разработка больших сайтов Сумин Андрей Разработчик интерфейсов

Имеется файл на одном из серверных языков calendar.extension, который должен: вставлять календарь на страницу; обеспечить подключение необходимых JavaScript файлов для работы календаря; не позволять нескольких подключений одного файла.

Для каждого проекта и каждого серверного языка реализовать алгоритм подключения JavaScript файлов. Часто необходимо участие JavaScript программиста для подключения JavaScript файлов (порядок подключения, зависимости).

Возможное решение Реализовать алгоритм на JavaScript. Все серверные языки генерируют одинаковый HTML код, который в браузере представляется календарем.

Необходимо реализовать На сервере: обозначить часть DOM дерева как компонент, указать тип компонента - календарь. На клиенте: найти обозначенные части DOM дерева; определить тип компонента; загрузить все необходимые JavaScript файлы; создать компонент.

На сервере Обозначить как компонент - особенное имя CSS класса. Указать тип - календарь: сформированным CSS классом; в атрибуте; любым удобным способом.

На сервере (пример) отметка узла как компонента указание типа компонента

На клиенте Компоненты находятся CSS селектором: var components = cssRule(.components); Вызов атрибута onclick вернет объект, который стоит после return: var Component = components[index].onclick(); Свойство type вернет тип компонента: var type = Component.type;

Загрузка JavaScript файлов Файлы должны иметь возможность: задать список зависимостей; получать уведомление о загрузке всех нужных ему файлов; сигнализировать об окончании загрузки и инициализации.

require( [file1, file2, …], function(){ // инициализация loaded(file); } ) Функция выполнится, когда все файлы из массива вызовут метод loaded. Требования Уведомление Сигнализация

Функция require Функция require должна дождаться вызовов всех loaded из списка и вызвать переданную функцию function. Если файл однажды загрузился или в процессе загрузки, не следует загружать его заново.

DOM узел найден по имени класса. Выполнение onclick идентифицировало его как календарь. Загрузился файл календаря и все файлы, от которых он зависит. Инициализируем компонент: window[type].init( /* type из атрибута onclick */ node, /* узел с классом «component» */ );

На сервере не нужно заботиться о подключении JavaScript файлов. На клиенте подключаются только нужные файлы. Файлы подключаются в нужной последовательности.

На заметку Удобно: подключить один файл, дающий возможность загружать файлы; вычислить и сохранить его путь в алиас; давать всем файлам имена, разворачивающиеся в пути к файлам; в именах файлов использовать алиас.

На заметку (пример) Подключаем файл на странице: Тогда строка вида require( [{core}.Calendar] ); превратится в path/Calendar.js

Спасибо за внимание.