| 16.04.2015

На протяжении прошлого года веб-дизайнеры все чаще стали использовать оригинальный способ оживить сайт – установка видеоролика в качестве фона страницы. Интересный сюжет или просто «живая» картинка на фоне украсит даже обычный сайт-визитку, заинтересует пользователя и подвигнет дольше задержаться на сайте. Сегодня мы поделимся с вами одним из способов установить полноэкранный видео-фон для сайта на HTML5 и CSS.

Если вы твердо убеждены, что хотите установить видео для фона на сайте, необходимо знать кое-какие нюансы:

  1. Во-первых, нужно обязательно помнить о том, что видеоролик имеет довольно большой вес. Это может негативно сказаться на скорости загрузки страницы, особенно если у пользователя медленный интернет. Поэтому выбирайте не слишком продолжительные по времени видеоролики. В случае, когда требуется использовать довольно длинное видео, будьте готовы либо к работе над уменьшением его веса, либо к тому, что придется жертвовать частью аудитории.
  2. Во-вторых, избегайте автовоспроизведения звука из видео. Используйте либо ролики без аудио, либо добавьте возможность пользователю самому включить звук, если ему это понадобится. Автоматическое воспроизведение звука при открытии сайта считается очень дурным тоном.
  3. В-третьих, нужно позаботиться о кроссбраузерности и корректном отображении и воспроизведении видео на всех устройствах, а также предоставить альтернативу видео (для тех случаев, если оно не воспроизведется). Ниже в нашем примере мы покажем, как это сделать.
  4. И в-четвертых, стоит хорошо подумать, уместен ли видеофон на том сайте, где вы захотели его установить, поскольку очень легко переступить грань между оригинальностью и бесполезностью данной затеи. Видео ни в коем случае не должно отвлекать пользователя от его главной цели, по причине которой он пришел на сайт. Устанавливая видео-фон под текстовым содержимым, не забудьте проверить, насколько читабельным стал текст. Например, он может слиться с фоном в определенный момент проигрывания видеоролика (белый текст на белом фоне, черный на черном и т. п.).

1. HTML

Для нашего примера взят видеоролик с разрешением 1920×1080, продолжительностью 15 секунд и весом чуть больше 3 МБ. Внутри блока

с идентификатором video-bg находится наш фон:

Для тега

  • width – ширина области для воспроизведения ролика;
  • height – высота области;
  • autoplay – автоматическое воспроизведение видео;
  • loop – циклическое повторение видео;
  • poster – изображение, которое отображается вместо видео, пока оно загружается либо недоступно.

Далее у нас записано два тега , где указаны URL-адреса видео в разных форматах – MP4 и WEBM. Зачем подключать ролик в нескольких форматах? Дело в том, что не все браузеры поддерживают один-единственный формат видео. Чтобы видео смогли распознать все современные браузеры, необходимо предоставить файл хотя бы в этих двух форматах. А атрибут type с соответствующими значениями помогает браузеру быстрее определиться с выбором.

2. CSS

Наша таблица стилей для фона выглядит следующим образом:

#video-bg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; z-index: 1; background: url(bg/daisy-stock-poster.jpg) no-repeat #94a233; background-size: cover; } #video-bg > video { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; width: auto; height: auto; } @supports (object-fit: cover) { #video-bg > video { top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } }

Как видно из кода, фон установлен на всю страницу, а в качестве запасного фона задано изображение (кадр из этого же видео). В самом крайнем случае будет задействован цвет фона #94a233 .

Также в коде есть директива @supports , которая проверяет, поддерживает ли браузер свойство object-fit . Если да, то фон принимает значение cover и пропорционально отображается при разных размерах экрана.

Согласно данным с сайта caniuse.com , на сегодняшний день свойство object-fit поддерживается всеми браузерами, кроме Internet Explorer, Firefox 31-35, safari 7, iOS Safari 7.1 и Android Browser 4.1-4.4.

Аналитика продаж

Интеграция с вашей АТС

Интеграция с сайтом

Подключение специальных виджетов избавит Вас от необходимости вручную переносить лиды и контакты в систему! Создавайте специальные формы на Вашем сайте. После заполнения их клиентом контакт или сделка будут автоматически попадать в систему amoCRM.

Приложение для iPhone или Android

В приложениях amoCRM для iPhone и Android есть возможность просматривать список клиентов, потенциальные сделки, список задач и ленту событий.

Удобный рабочий стол

amoCRM сама автоматически выводит все самые важные графики, а если каких-то данных не хватает в базовой поставке, вы всегда можете добавить неограниченное количество своих панелей-виджетов.

Расширения и виджеты

Сделайте работу с amoCRM привычной и комфортной! Создавайте свои собственные email-рассылки всего за два клика. Интегрируйте amoCRM с телефонией и экономьте время Ваших специалистов. Храните Ваши файлы в удобном облачном хранилище Dropbox.

База данных клиентов, компаний и сделок

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

amoCRM помогает следить за тем, чтобы по каждой сделке было запланировано действие, и напоминает, если задача была просрочена или ничего не запланировано. Заходите в сделку, оставляете примечание и добавляете задачу. Задача выполнена? Просто зачеркните ее. Они находятся в специальной вкладке интерфейса. Вы не забыли позвонить Сергею? Позвонили? Прямо здесь отмечаем, что задача выполнена.

Полная интеграция с Вашей почтой

Подключите неограниченное количество любых ящиков, и ваша переписка автоматически отобразится в amoCRM. Мы автоматически создадим новые сделки на каждое новое письмо от клиента. Мы даже отследим скорость обработки поступающих запросов.

Аналитика продаж

В amoCRM предусмотрены диаграммы распределения сделок по статусам, менеджерам или в другом удобном для вас разрезе. Кроме того, система строит прогнозы продаж, основываясь на ранее собранной статистике и текущем положении.

Интеграция с вашей АТС

AmoCRM станет Вашим незаменимым помощником в совершении и переадресации звонков. С его помощью вы сможете «помнить» имена всех Ваших клиентов. В программе также хранится вся статистика Ваших входящих и исходящих звонков. После установки связи с вашей АТС, в интерфейсе amoCRM появится специальная иконка в виде телефона. Один клик и номер автоматически набирается на телефонном аппарате менеджера. Звонить можно как из списков, так и из карточки контакта или сделки.

Подключение популярного сервиса Zadarma к 1С — теперь это вопрос нескольких минут. Достаточно подключить готовое расширение для интеграции 1С и Zadarma. Установку без проблем сможет выполнить любой сотрудник, даже уборщица тетя Маша специалист по клинингу.

В первую очередь, мы ориентировались на малый бизнес, который активно использует АТС Zadarma и конфигурацию 1С:Управление небольшой фирмой 1.6.

Как было раньше

Для интеграции с Zadarma вам нужно было использовать специальную звонилку, встроенную внутрь 1С — так называемый SIP-фон. Этот вариант подходил, при нескольких «если»:

  • если 1С установлен на локальном компьютере, а не где-то на терминальном сервере
  • если пользователь согласен использовать 1С-звонилку вместо настольного телефона

В общем, если сошлись все «если», тогда интеграция была возможной.

Как стало сейчас

Теперь, для интеграции 1С и Zadarma совершенно не важно какое именно конечное устройство используется для звонков. Это может быть что угодно:

  • настольный телефон
  • софтфон, установленный в ОС
  • веб-фон, работающий в браузере

Расширение 1С для Zadarma взаимодействует с API, а не со звонилкой. Поэтому, не важно чем именно пользователь будет звонить.

Простота установки

Установка состоит из 1-го действия. Просто покажем вам 2 скрина.

Размещение на начальной странице

Панель телефонии Zadarma автоматически появляется на начальной странице. Если вдруг пользователю это не нужно, тогда он может просто снять галочку в меню «Вид» — «Настройка начальной страницы».

Простота настройки

Берем ключи API из личного кабинета Zadarma

и вставляем их в 1С

И конечно же вводим логин/пароль учетки на simplit.io.

Все, теперь ваша 1С подключена к Zadarma.

Звонки по клику в 1С

Всюду, где мы видим пиктограмму «телефон», по нему можно кликнуть и Zadarma начнет набор номера.

Реквизиты «Контактная информация» есть во многих списках документов, справочников — больше не нужно бежать в карточку клиента, чтобы позвонить. Например, можно позвонить прямо из списка заказов, счетов, расходных

Карточка клиента при входящем звонке

Функция, которая фактически стала стандартной и обязательной при интеграции 1С и АТС. Хотя следует отметить, что востребована она далеко не всегда, поэтому в настройках Панели телефонии ее можно выключать.

Регистрация звонка документом Событие

Аналогично, можно управлять необходимостью автоматического создания документа «Событие-Телефонный звонок». С помощью этого документа удобно оставлять комментарии к звонку.

И самое важное — на основании этого документа можно потом вводить Заказ, Счет и таким образом будет хорошо видна взаимосвязь между звонком и продажей.

К документу Телефонный звонок можно привязать напоминание, что очень удобно, если сотрудник пообещал перезвонить клиенту позже.

История звонков АТС

История звонков — это конечно же, вещь очень важная. Расширение для интеграции 1С и Zadarma дает несколько вариантов работы с историей.

Например, пользователь хочет посмотреть историю по самому себе. Аналогично списку последних звонков в нашем сотовом телефоне. Эту историю можно просмотреть, открыв закладку «История» на начальной странице.

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

Историю звонков с отбором по клиенту можно просмотреть прямо в его карточке. История включает звонки клиента и всех его контактных лиц. Когда номер принадлежит самому контрагенту, то поле «Контакт» не заполняется.

От автора: В этой обучающей статье мы рассмотрим простую технику создания фонового изображения, которое будет полностью растягиваться на всю ширину окна просмотра (viewport) браузера. Для этого нам понадобится CSS-свойство background-size; JavaScript не нужен.

Примеры адаптивных целых фоновых изображений

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

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

Базовые принципы

Вот наш план действий.

Используйте свойство background-size, чтобы полностью заполнить окно просмотра

CSS-свойство background-size имеет значение cover. Значение cover сообщает браузеру о том, что необходимо автоматически и пропорционально масштабировать ширину и высоту фонового изображения, чтобы они всегда были равны или были больше ширины/высоты окна просмотра.

Используйте медиа-запрос для обработки небольших фоновых изображений для мобильных устройств

Чтобы улучшить скорость загрузки страницы на маленьких экранах, мы будем использовать медиа-запрос для обработки уменьшенной версии нашего фонового изображения. Это необязательно. Эта техника будет работать и без этого. Но почему использование небольшого фонового изображения для мобильных устройств является хорошей идеей?

Изображение, которое я использовал в демо-примере, имеет разрешение 5500x3600px. Этого разрешения хватит для большинства широкоформатных компьютерных мониторов, имеющихся в настоящее время в продаже. Но ради этого придется обрабатывать файл размером 1.7MB.

Такая огромная дополнительная нагрузка только ради размещения фоновой фотографии в любом случае не принесет ничего хорошего. И, безусловно, это исключительно плохо скажется на соединениях, использующих мобильный Интернет. А также такое разрешение является излишним для устройств с маленьким экраном (подробнее на этом остановимся позже). Давайте рассмотрим весь процесс.

HTML

Для разметки потребуется только это:

Мы собираемся назначить фоновое изображение для элемента body, чтобы изображение всегда полностью занимало окно просмотра браузера.

Тем не менее, эта техника будет также работать для любого блочного элемента (например, div или form). Если ширина и высота вашего блочного элемента является «резиновой», тогда фоновое изображение всегда будет масштабироваться таким образом, чтобы занять весь контейнер.

CSS

Задаем следующие стили для элемента body:

body { /* Путь до изображения */ background-image: url(images/background-photo.jpg); /* Фоновое изображение всегда отцентрировано по вертикали и горизонтали */ background-position: center center; /* Фоновое изображение не повторяется */ background-repeat: no-repeat; /* Фоновое изображение зафиксировано в окне просмотра, поэтому оно не смещается, когда высота контента больше высоты изображения */ background-attachment: fixed; /* Вот что позволяет фоновому изображению подстраиваться под размер контейнера */ background-size: cover; /* Устанавливает фоновый цвет, который будет отображаться, пока загружается фоновое изображение */ background-color: #464646; }

body {

/* Путь до изображения */

background - image : url (images / background - photo . jpg ) ;

/* Фоновое изображение всегда отцентрировано по вертикали и горизонтали */

/* Фоновое изображение не повторяется */

background - repeat : no - repeat ;

/* Фоновое изображение зафиксировано в окне просмотра, поэтому оно не смещается, когда высота контента больше высоты изображения */

/* Вот что позволяет фоновому изображению подстраиваться под размер контейнера */

background - size : cover ;

/* Устанавливает фоновый цвет, который будет отображаться, пока загружается фоновое изображение */

background - color : #464646;

Наиболее важная пара свойство/значение, на которую следует обратить внимание:

background-size: cover;

background - size : cover ;

Вот, где начинается волшебство. Эта пара свойство/значение сообщает браузеру о том, что нужно масштабировать фоновое изображение пропорционально, т.е. чтобы его ширина и высота были равны или были больше, чем ширина/высота элемента (в нашем случае это элемент body).

Однако у данной пары свойство/значение есть одна проблема: если фоновое изображение меньше размеров элемента body – что произойдет на экранах с высоким разрешением и/или когда у вас огромное количество контента на странице – браузер неизбежно увеличит масштаб изображения. И, как мы знаем, когда мы увеличиваем размеры растрового изображения, качество изображения снижается (другими словами, происходит пикселизация).

Увеличение размера изображения относительно исходных размеров сказывается на качестве изображения. Помните об этом, когда будете выбирать подходящее изображение. В демо-примере используется огромная фотография размером 5500x3600px для широкоформатных мониторов, поэтому потребуется очень большой экран, чтобы произошло искажение качества. Давайте двигаться дальше. Чтобы фоновое изображение всегда было по центру окна просмотра, мы пропишем:

background-position: center center;

background - position : center center ;

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

В данном случае нам необходимо сделать так, чтобы фоновое изображение оставалось на исходном месте, даже когда пользователь прокручивает страницу вниз. В данной ситуации изображение либо просто закончиться при прокрутке, либо будет перемещаться по ходу прокрутки (что может сильно отвлекать пользователя). Чтобы зафиксировать фон, мы указываем для свойства background-attachment значение fixed.

background-attachment: fixed;

background - attachment : fixed ;

В демо-примере я добавил возможность «подгрузить контент», чтобы вы могли посмотреть, что происходит при появлении полосы прокрутки в браузере, когда для свойства background-attachment задано значение fixed. Вы также можете загрузить демо-пример и поиграть со значениями свойств, отвечающих за расположение элементов (например, background-attachment и background-position), чтобы посмотреть, как это повлияет на прокрутку страницы и фоновое изображение. Остальные значения свойств сами по себе довольно понятны.

Сокращенная запись CSS

Я подробно расписал фоновые свойства, чтобы их было легче объяснить. Равнозначной будет и сокращенная запись:

body { background: url(background-photo.jpg) center center cover no-repeat fixed; }

body {

background : url (background - photo . jpg ) center center cover no - repeat fixed ;

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

Дополнительно: медиа-запрос для маленьких экранов

Для маленьких экранов я использовал программу Photoshop, чтобы пропорционально уменьшить исходное фоновое изображение до размера 768x505px, а также я воспользовался сервисом Smush.it для того, чтобы еще немного уменьшить размер. Благодаря этому размер файла уменьшился с 1741KB до 114KB. Т.е. размер изображения уменьшился на 93%.

Пожалуйста, не поймите меня неправильно, 114KB это все еще довольно много для чисто эстетического элемента дизайна. Учитывая дополнительную нагрузку в 114KB, я бы стал использовать такой файл, только если бы увидел возможность значительно улучшить опыт взаимодействия пользователя с сайтом (UX), т.к. в настоящий момент значительная доля Интернет трафика приходится на работу мобильных устройств background - image : url (images / background - photo - mobile - devices . jpg ) ;

У медиа-запроса установлено ограничение по ширине max-width: 767px, которое означает, что если окно просмотра браузера больше 767px, то будет загружаться большое фоновое изображение.

Недостаток использования данного медиа-запроса заключается в том, что если вы измените ширину окна вашего браузера, например, с 1200px до 640px (или наоборот), вы сразу же увидите момент загрузки маленького или большого фонового изображения.

Вдобавок к этому, из-за того, что некоторые устройства с маленьким экраном могут отображать большее количество пикселей – например, iPhone 5 c дисплеем retina способен отобразить разрешение 1136x640px – маленькое фоновое изображение будет пикселизовано.

Подводя итог

Вы можете посмотреть более актуальную версию исходного кода из данной обучающей статьи на GitHub . Я могу вас предупредить только об одном: пожалуйста, используйте данную технику с осторожностью, потому что большие файлы могут серьезно повредить UX, особенно если конечный пользователь использует медленное и ненадежное Интернет соединение. Это еще одна причина, почему вам следует подобрать подходящий цвет фона, чтобы пользователь смог прочитать контент, пока фоновое изображение загружается.

Примечание.

Пользовательский интерфейс в Dreamweaver СС и более поздних версиях стал проще. В результате этого некоторые функции, описанные в этой статье, могут отсутствовать в Dreamweaver CC и более поздних версиях. Дополнительные сведения см. в этой статье .

О веб-приложениях

Веб-приложение представляет собой веб-сайт, на котором размещены страницы с частично либо полностью несформированным содержимым. Окончательное содержимое формируется только после того, как посетитель сайта запросит страницу с веб-сервера. В связи с тем что окончательное содержимое страницы зависит от запроса, созданного на основе действий посетителя, такая страница называется динамической.

Спектр использования веб-приложений очень широк. В данном разделе рассматриваются общие вопросы использования веб-приложений, а также приводится пример простого веб-приложения.

Типичное применение веб-приложений

Использование веб-приложений приносит определенную пользу как посетителям веб-сайтов, так и их разработчикам.

    Веб-приложения позволяют посетителям быстро и легко находить требуемую информацию на веб-сайтах с большим объемом информации.

    Данный вид веб-приложений позволяет осуществлять поиск в содержимом, упорядочивать содержимое и перемещаться по нему удобным для посетителей способом. Примерами таких приложений могут служить внутренние сети компаний - Microsoft MSDN (www.msdn.microsoft.com) и Amazon.com (www.amazon.com).

    Веб-приложения позволяют собирать, сохранять и анализировать данные, полученные от посетителей сайта.

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

    Веб-приложение может использоваться для обновления веб-сайтов с периодически меняющимся содержимым.

    Веб-приложение освобождает веб-дизайнера от рутинной работы постоянного обновления HTML-страниц сайта. Поставщики содержимого, например редакторы новостей, отвечают за наличие свежего материала, а веб-приложение следит за автоматическим обновлением сайта. В качестве примера можно привести веб-версию журнала «The Economist» (www.economist.com) и службы новостей CNN (www.cnn.com).

Пример веб-приложения

Светлана работает веб-дизайнером и уже долгое время использует Dreamweaver в своей работе. В ее обязанности входит обеспечение работы внутрикорпоративного сайта и Интернет-сайта компании средних размеров, насчитывающей порядка 1000 сотрудников. Однажды сотрудник отдела кадров Сергей обратился к ней со своей проблемой. Отдел кадров курирует программу оздоровления сотрудников. В рамках этой программы сотрудникам начисляются специальные баллы за каждый километр, преодоленный пешком, бегом или на велосипеде. В конце месяца каждый сотрудник отсылает отчет по электронной почте Сергею с указанием общего количества километров. После этого Сергей на основе полученных электронных сообщений премирует сотрудников небольшими денежными призами в зависимости от набранных баллов.

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

В ответ на это Светлана предложила создать веб-приложение, которое будет решать следующие задачи.

    Данные о своих спортивных достижениях сотрудники будут вносить в простую HTML-форму.

    Полученные данные будут сохраняться в базе данных.

    Начисление баллов будет выполняться на основе полученных данных.

    Каждый сотрудник может получить данные о своих результатах.

    В конце каждого месяца Сергей имеет возможность получить все итоговые результаты.

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

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

Например, можно создать страницу, на которой будут отображены результаты программы оздоровления. При этом некоторая информация (например, имя сотрудника и его результаты) будет определяться в момент запроса страницы сотрудником.

В следующем разделе более подробно рассматриваются вопросы работы веб-приложений.

Обработка статических веб-страниц

Статический веб-сайт содержит набор соответствующих HTML-страниц и файлов, размещенных на компьютере, на котором установлен веб-сервер.

Веб-сервер - это программное обеспечение, которое предоставляет веб-страницы в ответ на запросы веб-браузеров. Обычно запрос страницы создается при щелчке ссылки на веб-странице, выборе закладки в браузере либо вводе URL-адреса в адресной строке браузера.

Окончательное содержимое статической веб-страницы определяется разработчиком и остается неизменным в процессе запроса страницы. Пример:

Trio Motors Information Page

About Trio Motors

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

Примечание.

Если подходить строго, «статическая» страница может на самом деле таковой не являться. Например, замещающее изображение либо Flash-содержимое (в виде SWF-файла) позволяет «оживить» статическую страницу. Однако в данном контексте страница является статической, поскольку отсылается браузеру без изменений.

Когда веб-сервер получает запрос на выдачу статической страницы, то, после анализа запроса, сервер находит нужную страницу и отправляет ее браузеру, как показано ниже.


A. Веб-браузер запрашивает статическую страницу. B. Веб-сервер находит страницу. C. Веб-сервер отправляет страницу запросившему ее браузеру.

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

Когда веб-сервер получает запрос на выдачу статической веб-страницы, он отправляет страницу непосредственно браузеру. Однако, когда запрашивается динамическая страница, действия веб-сервера не столь однозначны. Сервер передает страницу специальной программе, которая и формирует окончательную страницу. Такая программа называется сервером приложений.

Сервер приложений выполняет чтение кода, находящегося на странице, формирует окончательную страницу в соответствии с прочитанным кодом, а затем удаляет его из страницы. В результате всех этих операций получается статическая страница, которая передается веб-серверу, который в свою очередь отправляет ее клиентскому браузеру. Все страницы, которые получает браузер, содержат только HTML-код. Схематическое изображение процесса:


A. B. C. Сервер приложений просматривает страницу на наличие инструкций и выполняет ее создание. D. Сервер приложений возвращает подготовленную страницу на веб-сервер. E.

Хранение содержимого в базе данных позволяет отделить оформление веб-сайта от содержимого, которое будут видеть пользователи. Вместо того чтобы создавать все страницы в виде отдельных HTML-файлов, пишутся только шаблоны страниц для каждого вида представляемой информации. Затем содержимое загружается в базу данных, после чего веб-сайт будет извлекать его при запросах пользователей. Кроме того, можно обновить информацию в одном источнике и продублировать это изменение на всем веб-сайте без редактирования каждой страницы вручную. Adobe Dreamweaver позволяет создавать веб-формы для вставки, обновления и удаления информации в базе данных.

Программная инструкция, предназначенная для получения данных из базы данных, называется запросом к базе данных . Запрос состоит из критериев поиска, выраженных с помощью языка баз данных, называемого SQL (язык структурированных запросов). Текст SQL-запроса располагается в сценариях страниц на стороне сервера либо в тегах.

Сервер приложений не может непосредственно получить данные из базы, поскольку базы данных используют специфические форматы хранения данных, в результате чего попытка получения таких данных будет напоминать попытку открытия документа Microsoft Word с помощью текстового редактора Notepad или BBEdit. Поэтому для подключения к базе данных сервер приложений использует посредника - драйвер базы данных. Драйвер базы данных представляет собой программный модуль, с помощью которого устанавливается взаимодействие между сервером приложений и базой данных.

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

Ниже приводится пример простого запроса к базе данных на языке SQL.

SELECT lastname, firstname, fitpoints FROM employees

Следующий пример демонстрирует процесс выполнения запроса к базе данных и возвращение полученных данных браузеру.



A. Веб-браузер запрашивает динамическую страницу. B. Веб-сервер находит страницу и передает ее серверу приложений. C. Сервер приложений просматривает страницу на наличие инструкций и выполняет ее подготовку. D. Сервер приложений отправляет запрос драйверу базы данных. E. Драйвер выполняет запрос в базе данных. F. Драйверу возвращается набор записей. G. Драйвер передает набор записей серверу приложений. H. Сервер приложений вставляет данные в страницу и передает страницу веб-серверу. I. Веб-сервер отправляет подготовленную страницу запросившему ее браузеру.

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

Для создания малобюджетных приложений можно использовать файловую базу данных, например базу данных, созданную с помощью Microsoft Access. Если планируется создание надежных корпоративных приложений, рекомендуется использовать серверную базу данных, например, на основе серверов Microsoft SQL Server, Oracle 9i или MySQL.

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

Разработка динамических страниц

Процесс разработки динамических страниц состоит из написания базового HTML-кода и последующего создания серверных сценариев или тегов HTML-страницы, с помощью которых страница становится динамической. Если взглянуть на окончательный код, видно, что язык сценариев встроен в HTML-код страницы. Соответственно, такие языки сценариев называют языками, встроенными в HTML. В следующем примере используется язык разметки ColdFusion Markup Language (CFML).

Примечание . В Dreamweaver CC и более поздних версиях поддержка CFML отсутствует.

Trio Motors Information Page

About Trio Motors

Trio Motors is a leading automobile manufacturer.

Be sure to visit our #department# page.

Встроенные в данную страницу инструкции выполняют следующие действия.

    Создается переменная с именем department , после чего ей присваивается строковое значение «Sales» .

    Значение «Sales» помещается в HTML-код.

Сервер приложений возвращает следующую страницу на веб-сервер:

Trio Motors Information Page

About Trio Motors

Trio Motors is a leading automobile manufacturer.

Be sure to visit our Sales page.

Веб-сервер отправляет страницу браузеру, который отображает ее следующим образом.

О компании Trio Motors

Компания Trio Motors является одним из ведущих производителей автомобилей.

Не забудьте посетить страницу нашего отдела продаж.

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

Серверная технология

ColdFusion Markup Language (CFML)

Страницы ASP

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

Терминология веб-приложений

В данном разделе приводятся определения часто используемых терминов, относящихся к веб-приложениям.

Сервер приложений

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

Наиболее распространенные серверы приложений поддерживают языки ColdFusion и PHP.