XFrames (XFrames)
XFrames — это XML-формат построения и организации веб-документов вместе в одну страницу посредством использования фреймов. Как и обычные HTML-фреймы, XFrames находят применение в задачах, когда необходимо заставить прокручиваться один документ, в то время как остальные части страницы, такие как боковые меню и колонтитулы, будут оставаться на своих местах. XFrames могут быть полезны для тех веб-дизайнеров, которые, модифицируя один документ, хотят отобразить изменения на всех страницах фреймового документа.
Основное преимущество следующего поколения фреймов заключается в том, что были решены некоторые ключевые проблемы, присущие стандартной фреймовой модели.
Несмотря на то, что стандарт находится на стадии рабочего проекта, XFrames должны заменить традиционные фреймы.
Отличия от HTML-фреймов
[править | править код]Традиционные HTML-фреймы, которые были введены в HTML 4.0, были полезны своей способностью компоновать несколько страниц в одном веб-документе. Однако возникал ряд проблем, связанных с реализацией таких документов, поэтому из стандарта W3C XHTML 1.1 стандартные фреймы были исключены. Ожидается, что XFrames сможет решить некоторые из них:
- кнопка назад работает не так, как пользователь может интуитивно ожидать
- невозможно сохранить конкретный документ в закладки или отправить кому-то ссылку на него
- если документы обновляются, то может случиться ситуация, когда пользователь имеет разные версии частей документа
- реакция на клавиши «Page Up» и «Page Down» зависит от того, в каком из фреймов документа находится фокус
- уязвимость с безопасности, так как пользователь не знает, на какой именно странице он сейчас находится
- Так как фреймовая модель поддерживается не всеми агентами, а необходимый тег <noframes> зачастую отсутствует в реализации, то такие агенты (например, поисковые системы) не могут произвести рендер страницы правильно, что означает невозможность правильной поисковой оптимизации.
XFrames решает проблему сохранения страницы в закладки путём кодирования нужного семейства фреймов в URI.
Реализация XFrames
[править | править код]Как и другие языки разметки, XFrames реализуется посредством некоторого числа тегов и их атрибутов. Ниже представлен один из простых примеров:
<frames xmlns="http://www.w3.org/2002/06/xframes/">
<head>
<title>Home Page</title>
<style type="text/css">
#header {height: 150px; }
#footer {height: 50px; }
#nav {width: 15%; }
</style>
</head>
<group compose="vertical">
<frame xml:id="header" source="banner.xhtml"/>
<group compose="horizontal">
<frame xml:id="main" source="news.xhtml"/>
<frame xml:id="nav" source="nav-menu.xhtml"/>
</group>
<group compose="vertical">
<frame xml:id="footer" source="disclaimer.xhtml"/>
</group>
</group>
</frames>
Тег <frames> говорит о том, что данный документ представлен фреймовой моделью. В традиционных фреймах это аналог <frameset>. Как и в XHTML и HTML, тег <head> содержит мета-информацию, которая преимущественно используется для описания документа и поисковой оптимизации. Внутренний тег <style> используется для включения стилей CSS. Тег <group> группирует один или несколько фреймов вместе. Также может быть указан соответствующий стиль. Если же стиль не указан, то необходимо задать атрибут compose, который показывает способ компоновки элементов. Наконец, тег <frame> служит указателем на элемент для вставки, который задаётся через URL посредством атрибута source.
Статус XFrames
[править | править код]Вторая версия рабочего проекта была выпущена 15 октября 2005 и описывала дальнейшие планы по реализации. Однако до сих пор XFrames имеет статус рабочего проекта и нет никаких известий о том, когда он станет Рекомендацией W3C.
См. также
[править | править код]Ссылки
[править | править код]- W3C Working Draft
- XFrames Resources at W3C