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