§109/ Как делать сайты с фреймами

Посвящаю сие Инге

Ежегодно на свет появляются тысячи мильонов младенцев. Многие из них вырастут и станут веб-девелоперами. Некоторые из ставших однажды придут (всё время приходят!) ко мне и спросят: «А почему нельзя делать сайты с фреймами?». На это я им зачитаю нижеследующее:

Сайты с фреймами — это зло. Зло — существует. Бывает, приходится делать зло («т.к. добро сосёт» — © известный злодей Spectator).

Недостатки сайтов с фреймами

  1. Проблемы с навигацией.
  2. Проблемы с индексацией.
  3. Главное Зло Мира.

Рассмотрим указанное в деталях:

1. Проблемы с навигацией.

Сайты с фреймовой структурой ведут себя, как полные уроды. Какие страницы ты бы не открывал — адрес в адресной строке всё тот же. (Таким образом, положить закладку на внутреннюю страницу невозможно.) Попытка открыть страницу такого сайта в новом окне (из контекстного меню правой кнопки мыши) приводит к исчезновению всех фреймов, кроме открытого (обычно исчезает главное меню). Человека, привыкшего к мирному сёрфингу, подобное может привести к греховным мыслям.

2. Проблемы с индексацией.

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

3. Главное Зло Мира.

Главное Зло Мира — это когда кто-то пытается навязать другому своё представление «как лучше». Если вы решаете за пользователя, что он должен отдать пол-экрана на ваше засраное меню, то это зло. Если вы решаете, что ему будет удобно крутить не весь экран, а уродский квадрат с откушенным скроллингом — это зло. Если вы считаете, что сам он не может о себе позаботиться… Короче, фреймы — это зло.

Как всё-таки делать сайты с фреймами?

Еслы ты такой отморозок, что всё-таки хочешь делать сайты с фреймами, то вот тебе тайное знание, как решить перечисленные проблемы:

1. Проблемы с навигацией.

Проблема с адресной строкой решается насильным подставлением в поле адреса значения типа сайт.ру/?страница, который, если его набрать напрямую, должен вывести фреймовую структуру и загрузить в неё то, что надо. Делается это, например, на Javascript.

Проблема с открыванием страниц в новом окне решается другой процедуркой на Javascript, которая при загрузке страницы проверяет есть ли вышестоящий фрейм и если его нету — загружает фреймовую структуру, а в нее — эту страницу.

2. Проблемы с индексацией.

Для роботов поисковых машин на странице frameset-а ставятся специальные ссылки, по которым они могли бы проследовать. Проблема открытия внутренних страниц решалась в предыдущем пункте.

3. Главное Зло Мира.

А эту проблему решить нельзя. Можно только сделать вид, что её не существует.

Преимущества сайтов с фреймами

У сайтов с фреймами нет никаких преимуществ, которые нельзя было бы реализовать другими средствами.

Когда нужно делать сайты с фреймами

Создание сайтов с фреймами — это прерогатива самых умных, опытных, достойных, часто — великих веб-девелоперов. Они — знают, когда. А ты и думать забудь.

Статус-бар

Заодно. Эй, умники, которые пишут в статус-бар всякую чепуху, я вот вам что хочу сказать. Кроме вас, #$%^@*, есть и другие люди — достойные сёрферы, которые привыкли смотреть в статус-бар чтобы узнать, что лежит под ссылкой. Когда вы делаете то, что вы делаете, такие люди посылают в ваш адрес самые изощрённые проклятия. Поэтому и не везёт, поэтому и денег не хватает, поэтому и здоровье слабое.