Консультация № 30346
28.11.2005, 01:08
0.00 руб.
0 4 4
У меня есть сайт на фреймах: открываеться первая страница, а дальше по фрему меню разруливаеться фрейм содержания, два других фрейма статические. Но из-за того что поисковые машины индексируют страницы отдельно, получаеться, что открывают какую-нибудь одну страницу сайта, а другими сервисами сайта юзвер не может воспользоваться. Подскажите как сделать при вызове отдельной страницы, загружалась главная страница, а в сменном фрейме была вызываемая страница?

Обсуждение

Неизвестный
28.11.2005, 02:22
общий
это ответ
Здравствуйте, Stormsoft!
Можно использовать подобный код на JS в начале КАЖДОЙ динамической страницы (index.html - документ, содержащий frameset, mainFrame - имя фрейма, в котором должна быть открываемая страница)

if (parent == window) location.href = "index.html?mainFrame=" + escape(location.href);

if (parent == window) - Проверяется, грузится ли страница во фреме или сама по себе.
Впрочем, это не защитит от попадания во фрейм другого сайта, можно добавить скажем, проверку parent.document.title... В общем, нюансов, как и вариантов решения проблемы, множество....
Неизвестный
28.11.2005, 09:30
общий
это ответ
Здравствуйте, Stormsoft!
1) Нельзя сделать так, чтобы при загрузке отдельной страницы загружалась вся структура фреймов.
2) Многие поисковики уже достаточно хорошо индексируют фреймы.
3) Продумай навигацию по сайту -
в любойм сайте есть ключевые точки - оглавления групп. если слелать файлы, которые формируют структуру фреймов, и ссылаться на них, то пользователь будет достаточно быстро получать полную картину сайта. проверено на моем сайте
http://www.az-design.ru/
Неизвестный
28.11.2005, 17:55
общий
это ответ
Здравствуйте, Stormsoft!
Выдержка из одного фака:
<i>
5. Как опpеделить, что юзеp откpыл стpаницу не в кадpе, и пеpевести его в кадp?
В тексте стpаницы указать ссылку:
<SCRIPT LANGUAGE="javascript">
if (self.parent.frames.length == 0)
document.writeln("Перейдите на <A HREF=index.htm>фpеймсет</A>")
</SCRIPT>

Или сразу загpузить фpеймсет:
<SCRIPT LANGUAGE="javascript">
if (self.parent.frames.length == 0)
self.parent.location="index.htm";
</SCRIPT>

</i>
Неизвестный
29.11.2005, 15:42
общий
это ответ
Здравствуйте, Stormsoft!
обратись к паренту страницы. Если он не равен главной странице - то перенаправляй на главную.
Для поисковиков следует использовать тег noframes
Форма ответа