Frame (World Wide Web)

редактировать
Объединение нескольких элементов HTML для отображения веб-страницы

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

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

С начала 2000-х годов использование наборов фреймов считалось устаревшим из-за проблем с удобством использования и доступности, и эта функция была удалена из стандарта HTML5.

Содержание

  • 1 Теги и атрибуты
  • 2 История
  • 3 Преимущества
  • 4 Критика
  • 5 Альтернативы
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

Теги и атрибуты

Фреймы в HTML создаются с помощью пары тегов . Тег - это тег контейнера для всех других тегов, которые используются для создания фреймов. Тег заменяет тег в документах набора фреймов. Тег определяет, как разделить окно на фреймы.

Каждый набор фреймов определяет набор строк или столбцов. Если пользователь определяет фреймы с помощью атрибута rows, то создаются горизонтальные фреймы. Если пользователь определяет фреймы с помощью cols, создаются вертикальные фреймы.

Элемент </code>может быть включен, чтобы веб-браузеры с отключенными фреймами (или браузеры, не поддерживающие фреймы) могли отображать что-либо для пользователя, как в этом примере:</p><pre><frameset cols="85%, 15%"><frame src="http://www.example.com/frame_1.html" name="frame_1"><frame src="http://alt.example.com/frame_2.html" name="frame_2"><noframes>Ваш браузер не поддерживает фреймы. <a href="http://www.example.com/frame_1.html">Щелкните здесь</a>, чтобы просмотреть кадр 1. <a href="http://alt.example.com/frame_2.html">Щелкните здесь</a> для кадра 2.

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

Элемент iframeиспользуется внутри обычного тела HTML и определяет исходное содержимое и имя аналогично элементу frame. Любой текст внутри пары тегов будет отображаться в браузерах, которые не поддерживают тег iframe.

История

Netscape Navigator 2.0 представил элементы, используемые для фреймов, в марте 1996 года. Позже в том же году последовали другие поставщики браузеров, такие как Apple с Cyberdog. В то время Netscape предложила Консорциуму Всемирной паутины (W3C) фреймы для включения в стандарт HTML 3.0.

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

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

XHTML, задуманный как преемник HTML 4, удалил все фреймы в 1.1. Предполагаемой возможной заменой был XFrames, который пытается решить проблему адресации заполненного набора фреймов с помощью составных URI.

Более поздний стандарт HTML5, в котором использовался подход, отличный от HTML 4 также удаляет наборы фреймов. Тем не менее, элемент iframeостается с рядом опций «песочницы», предназначенных для совместного использования контента между сайтами.

Преимущества

Разрешение загрузки контента и навигации независимо от того, когда они были впервые разработаны, фреймы предлагали несколько преимуществ по сравнению с обычным HTML:

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

Критика

Практика кадрирования содержимого HTML привела на многочисленные критические замечания, в основном связанные с проблемами удобства использования и доступности. К ним относятся:

  • Фрейминг нарушает идентичность между контентом и URL-адресом, отображаемым в браузере, что затрудняет привязку или закладку определенного элемента контента в наборе фреймов.
  • Реализация фреймов несовместима между разные браузеры
  • Браузеры, которые отображают материал линейно, плохо обрабатывают фреймы.
  • Фрейминг усложняет веб-индексирование и может нанести ущерб поисковой оптимизации.
  • Фрейминг сбивает границы между контентом на разных серверах, что вызывает проблемы нарушения авторских прав
  • Посетители, пришедшие из поисковых систем, могут попасть на страницу, предназначенную для отображения во фрейме, в результате чего посетитель не сможет перейти к остальной части сайта.
  • Фреймы меняют поведение кнопка назад.
  • Обычно пользователи не ожидают, что браузеры будут печатать фреймы так, как они это делают.
  • Внешние ссылки на веб-страницах, которые используют фреймы, могут вызывать появление других страниц в наборе фреймов, поскольку по умолчанию ссылка загружается в текущий фрейм, если автор не указывает иное. Это может быть использовано недобросовестными веб-мастерами, чтобы создать впечатление, будто контент с другого сайта на самом деле является частью сайта, на котором размещен набор фреймов.
  • Если разрешение экрана или размер окна браузера слишком малы, то каждый фрейм будет прокручиваться бары, которые могут выглядеть беспорядочно и занимают уже ограниченное пространство. Такое поведение, как правило, было результатом плохого дизайна сайта (фиксированные макеты вместо гибких макетов), в результате чего не все функции набора фреймов были использованы должным образом.. Такое поведение можно смягчить путем:
    • отключения прокрутки для небольших кадров для этого обычно не требовалась полоса прокрутки;
    • использование характеристик гибкого дизайна на целевых страницах вместо фиксированного дизайна, чтобы контент не создавал горизонтальных полос прокрутки в первую очередь.

Альтернативы

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

  • Каскадные таблицы стилей (CSS) позволяли прокручивать элементы страницы независимо (с помощью свойства overflow) или удерживать их на экране, пока прокручивается другой контент (с использованием position: fixed)
  • Включает на стороне сервера позволяет редактировать общий контент один раз и автоматически доставлять клиенту как часть готовой страницы; по мере увеличения ЦП сервера и скорости соединения дополнительная работа, необходимая для этого на лету, стала меньшее внимание.
  • CGI и веб-ориентированные языки сценариев и веб-разработки фреймворки, такие как PHP и Active Server Pages, а также системы управления контентом на основе базы данных, такие как WordPress, предоставили гораздо более богатые возможности для поддержки контента и обеспечения навигации.
  • Клиентские сценарии и Динамический HTML позволял визуально заменять части страницы в зависимости от действий пользователя. Это обеспечивало гораздо большую гибкость для отображения «побочного» контента, такого как сноски или инструкции. разногласия, поскольку теперь они могут быть отображены и скрыты в любом месте страницы, вместо того, чтобы требовать заранее определенного фрейма.
  • AJAX допускает динамическое отображение на странице контента, даже когда его необходимо получить с сервера, например, на основании зарегистрированного пользователя или событий в другом месте.

Не все проблемы, выявленные с помощью наборов фреймов, можно устранить с помощью этих альтернативных подходов; например, проблемы с навигацией назад / вперед, закладками и индексированием остаются на многих сайтах, которые интенсивно используют навигацию DHTML / AJAX.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-20 13:18:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте