Из Википедии, бесплатной энциклопедии
  (Перенаправлено из фрейма HTML )
Перейти к навигации Перейти к поиску

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

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

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

Теги и атрибуты [ править ]

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

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

<noframes>Элемент может быть включен так веб - браузеры с фреймами отключенных (или браузерами , которые не поддерживают фреймы) могут отображать что - то для пользователя, так как в этом примере:

< 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 > Ваш браузер не поддерживает фреймы.  < HREF = "http://www.example.com/frame_1.html" > Нажмите здесь </ > для просмотра кадра 1. < в HREF = "http://alt.example.com/frame_2.html" > Щелкните здесь </ a > для кадра 2. </ noframes > </ frameset >  

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

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

< iframe  src = "http://www.example.com/frame_1.html"  height = "480"  width = "640" > Ваш браузер не поддерживает iframe. < HREF = "http://www.example.com/frame_1.html" > Нажмите здесь </ > для просмотра содержимого.</ iframe > 

История [ править ]

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

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

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

XHTML , задуманный как преемник HTML 4, удалил все фреймы в 1.1. Предназначено в конечном итоге замена была XFrames , [5] , который пытается решить проблему адресации через заполненные фреймы композитных URIs .

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

Преимущества [ править ]

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

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

Критика [ править ]

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

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

Альтернативы [ править ]

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

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

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

См. Также [ править ]

  • Авторские аспекты гиперссылок и фреймов
  • Кадры
  • Встроенная ссылка
  • Ссылки на контент
  • Framekiller
  • Веб-дизайн без стола

Ссылки [ править ]

  1. ^ «Подключение к другим сайтам» . Фрейминг отличается тем, что вместо того, чтобы направлять пользователя на связанный веб-сайт, информация с этого веб-сайта импортируется на исходную страницу и отображается в специальном «фрейме». Технически, когда вы просматриваете информацию во фрейме, ваш компьютер подключен к сайту, выполняющему фрейм, а не к сайту, страница которого отображается во фрейме.
  2. ^ Garaffa, Дейв (23 декабря 1996). «Подарок от Apple: Cyberdog 2.0a1» (пресс-релиз). Internet.com . Архивировано из оригинального 17 августа 2000 года . Проверено 14 апреля 2011 года .
  3. ^ Лэдд, Эрик. «Использование HTML 3.2, Java 1.1 и CGI; Глава 13, Фреймы» . Архивировано из оригинального 30 октября 2007 года.
  4. ^ Шафер, Дэн (1996). Волшебство JavaScript и Netscape . Скоттсдейл, Аризона: Книги группы Кориолиса. С.  31 . ISBN 978-1-883577-86-5.
  5. ^ "Рабочий проект XFrames" . W3C.
  6. ^ Отличия HTML 5 от HTML 4 : «Следующие элементы отсутствуют в HTML 5, потому что их использование отрицательно влияет на удобство использования и доступность для конечного пользователя: фрейм, набор фреймов, без фреймов»
  7. ^ Отличия HTML 5 от HTML 4 : «новые функции песочницы для iframe»
  8. ^ "Наборы фреймов" .
  9. ^ a b Нильсен, Якоб (декабрь 1996 г.). «Кадры - отстой большую часть времени» .
  10. ^ "Следует ли использовать фреймы?" . Учебник по HTML-коду.
  11. ^ «GEBoyd's How to Do Any about Anything by email - Part 1» . GeoCities . 11 августа 2000 года Архивировано из оригинала 17 августа 2000 года . Проверено 24 июня 2010 года .
  12. ^ Мур-Эдед, Пирс. «Основы SEO 1» . Льюис SEO . Проверено 25 февраля 2012 года .
  13. ^ "Я ненавижу фреймов клуб" .
  14. ^ a b "Почему кадры такие злые?" .
  15. ^ а б «Плюсы и минусы фреймов на веб-страницах» .

Внешние ссылки [ править ]

  • Справка HTML: что не так с фреймами?
  • Веб-советы Дэна: рамки
  • Скрипт, предназначенный для предотвращения кадрирования вашего контента