Практика разработки Web-страниц

         

Фреймы не работают


Чтобы отображать фреймы, вам необходимы три вещи: страница, устанавливающая фреймсет (frameset) – общую структуру страницы, отдельные страницы, появляющиеся во фреймах, и броузер, способный отображать фреймы. Если какой-либо из этих элементов отсутствует, броузер отобразит пустую страницу, страницу с ошибкой или просто одну страницу без сделанных вами фреймов.

В наши дни, впрочем, почти все броузеры могут отображать фреймы–Netscape 2 и более поздние, Internet Explorer 3 и новее, и многие другие. Для броузеров, не отображающих фреймы, таких как только текстовый броузер Lynx, вы можете сделать специальную только текстовую страничку или специальное сообщение в <NOFRAMES> секции страницы.

Если вы не видите фреймов, проделайте следующие шаги:

  1. Если страница вашего фрейма имеет раздел <BODY>, удалите его так, чтобы тэг <FRAMESET> шел сразу после раздела <HEAD>. Страница фрейма не должна иметь раздел <BODY>, иначе броузер отображает содержимое этого раздела, но игнорирует тэги <FRAMESET> и <FRAME>. (Если вам нужно отобразить то, что содержалось в разделе <BODY>, переместите содержимое на одну из страниц, отображаемых в вашем фрейме.)
  2. В тэгах <FRAMESET> страниц ваших фреймов надо указать высоту рядов и ширину столбцов, используя атрибуты rows и cols; иначе не все фреймы отобразятся. Для каждого тэга <FRAME> (или <FRAMESET>), содержащегося во фреймсете, укажите ширину и высоту в пикселях или процентах, или поставьте звездочку (*), означающую, что броузер должен предоставить все свободное пространство для этого фрейма. Например, следующие строки задают фреймсет с двумя соприкасающимися фреймами, первый 120 пикселов шириной и второй, занимающий все оставшееся место в окне броузера:

    <frameset cols="120,*"> <frame src="navbar.htm" > >frame src="main.htm"> </frameset>

  3. Убедитесь, что каждый тэг <FRAME> указывает на файл с атрибутом src; иначе фреймы отобразятся пустыми. Кроме того, убедитесь, что все страницы, к которым вы обращаетесь, существуют, иначе броузер отобразит во фрейме сообщение об ошибке, вроде "Page Not Found".




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

    Когда использовать фреймы

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

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


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

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



  4. Если ваша страница не работает в броузере, не поддерживающем фреймы, вам необходимо добавить раздел <NOFRAMES> в конце установки фреймсета (прямо перед последним тэгом </FRAMESET>). Вы можете разместить весь раздел <BODY> вашей страницы или просто надпись или гиперссылку:

    <noframes> <body bgcolor="#cccc99"> <h1>Sailing Stories</h1> <p>Welcome to our library of sailing stories from the San Juan Islands.</p> <p>Your browser doesn’t appear to support frames.Check our <a href="noframes.htm"> Frame-Free Home Page</a>.</p> </body> </noframes>

Некоторые старые броузеры, а также современные версии Web TV броузеров, имеют ограниченные возможности поддержки фреймов. В этих броузерах ваши фреймы могут работать вовсе не так, как вы предполагали. Учтите, что раздел <NOFRAMES> не поможет в таких случаях, поскольку он работает только в броузерах, не отображающих фреймы вообще.


Содержание раздела