Модераторы: Illuminaty

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с фреймами. Верхний фрейм не отображается. 
:(
    Опции темы
Sergey N. Bocharov
  Дата 27.9.2004, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемые господа и дамы, не могу понять в чем проблема ...?

Есть сайт - http://www.nikart.ru/index.htm - главная страница (index.htm) содержит следующую разметку (лишнее не копировал):

<html>
<head>
<frameset rows="177,*" frameborder="0" framespacing="0" border="0">
<frame name="mn" src="menu.htm" marginheight="0" maginwidth="0" scrolling="yes" noresize>
<frame name="inf" src="news.php" marginheight="0" maginwidth="0" scrolling="yes">
</frameset><noframes></noframes>
</head>
</html>


Вопрос состоит в следющем -> если в поисковую машину Rambler ввести слово - НикАрт - и по результатам поиска выбрать вторую ссылку:

(Продюсерский центр "НикАрт" - О КОМПАНИИ "НикАрт" (дата образования, основная деятельность, репертуар)
© НикАрт реклама Производитель кофе, из лучших сортов (качество с 1876 года) © НикАрт
22.09.2004 - 12 Kb - http://www.nikart.ru/company.php - Восстановить текст - Найти похожие
www.nikart.ru (всего 21))


то в результате открывается на ПОЛНЫЙ экран ТОЛЬКО нижний фрейм.

Что делать, надо чтобы в результате поиска, на странице был и верхний и нижний фрейм.

С уважением,
Sergey N. Bocharov
PM MAIL   Вверх
GoodBoy
Дата 27.9.2004, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 5
Всего: 83



Если не ошибаюсь, то так:
Код
<script>
if (self.top == self) location.replace("нужный_урл");
</script>

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


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sergey N. Bocharov
Дата 27.9.2004, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемый GoodBoy.

Ваш совет не решил проблему, т.к. я разместил Ваш код на странице http://www.nikart.ru/company.php , в результате чего, теперь при загрузке этой страницы, появляется не нижний фрейм (как раньше это было), а ВЕРХНИЙ (меню) и ПРИ ЭТОМ пропадает НИЖНИЙ фрейм...

Мне надо, чтобы не только ОДИН фрейм отображался (верхний или нижний), а сразу ОБА, т.к. если бы зайти на сайт со страницы http://www.nikart.ru/index.htm

С уважением,
Sergey N. Bocharov
PM MAIL   Вверх
Maveric
Дата 27.9.2004, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.9.2004

Репутация: нет
Всего: нет



Уважаемый, Sergey N. Bocharov.

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

З.Ы.
Кстати о фреймах написано немало статей. Большенство из которых сводятся к тому, что если не умешь работать с фреймами. Жделай по другому.
PM MAIL   Вверх
Aliance
Дата 27.9.2004, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 2
Всего: 137



Попробуй так:
Код

// НЕ работает в NN
if (top.location.href == self.location.href) {
   top.location.href = "http://www.nikart.ru/index.htm";
}


Можно еще использовать метод location.search(); и location.replace();, для востановления адреса, вида http://www.nikart.ru/index.htm?bla-bla...

Будут проблемы - обращайся!
PM MAIL WWW ICQ Skype   Вверх
Sergey N. Bocharov
Дата 27.9.2004, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемый Maveric, спасибо за разъяснение совета GoodBoy - я, но ...

1). Согласен, с фреймами опыта работы не имею - столкнулся в первый раз.
2). Сделать по-другому не могу, т.к. это не от меня зависит.

Теперь, после вашего дополнения (Maveric), указываю страницу с фреймами, ->

<script>
if (self.top == self) location.replace("index.htm");
</script>

теперь грузится ОБА фрейма, но вот в чем БЕДА, если человек в поисковой системе по запросу нашел всю туже страницу http://www.nikart.ru/company.php, а я прописал в javascript коде ссылку на страницу с фреймами (index.htm -- пример выше), то этот ЧЕЛОВЕК попадет не на страницу О КОМПАНИИ, а на страницу ПОСЛЕДНИЕ НОВОСТИ...

(-> и так всегда, если найдет другую страницу, к примеру http://www.nikart.ru/actor.php - страница Артисты, то нажав на ссылке по результатам поиска, он опять вновь попадет на страницу ПОСЛЕДНИЕ НОВОСТИ (т.к. в javascript коде указана ссылка на страницу с фреймами index.htm, которая грузит в верхнем фрейме menu.htm, а в нижнем start.php - т.е. СТРАНИЦУ ПОЛСЕДНИЕ НОВОСТИ). :--((((

Что же делать, у меня появилось пару идей:
1). Можно попробовать сделать копии страниц с фреймами, в которых будет верхний фрейм menu.htm, а нижний фрейм actor.php или company.php или .. и называть эти сраницы соответственно actor2.php, company2.php и делать ссылки в коде JavaScript на страницы actor2.php, company2.php - но это же просто маразм ...
2). Возможно ли как-нибудь получить ссылку, по которой человек попал на сайт?. Тогда можно было бы всегда делать ссылку в коде JavaScript на index.htm, а подгружать во второй фрейм ту ссылку, по которой человек зашел на сайт...

Извиняюсь за ошибки и семантику... спишу.

PM MAIL   Вверх
GoodBoy
Дата 27.9.2004, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 5
Всего: 83



Sergey N. Bocharov
А зачем вообще тут нужны фреймы????? Для того, чтобы постоянно вверху висела шапка???? Но ведь смотрится-то некрасиво, когда контент вниз прокручиваешь!!!!! Почему-бы не сделать страницу единой???


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Sergey N. Bocharov
Дата 27.9.2004, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемый GoodBoy.

1). Хм... это конечно выход... вот только одно плохо - когда все на единой странице, тормозит сильно. :--(((.

2). Как я уже писал, это не от меня зависит, таково желания заказчика.

Уважаемые дамы и господа.

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





PM MAIL   Вверх
Aliance
Дата 27.9.2004, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 2
Всего: 137



Sergey N. Bocharov
Чем мой ответ не подходит? qstn.gif
PM MAIL WWW ICQ Skype   Вверх
Sergey N. Bocharov
Дата 27.9.2004, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемый Aliance, не заметил вашего ответа, сейчас попробую сделать то, что вы посоветовали.
PM MAIL   Вверх
Maveric
Дата 27.9.2004, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.9.2004

Репутация: нет
Всего: нет



2 Sergey N. Bocharov

Надеюсь ответ Aliance Вам подойдет.

Но я бы всетаки предложил Вам сделать страничку единой. И ничего особо не тормозит при этом, ведь рисунки как правило идут в кэш. А текста там не много.

А для решения проблемы также можете передавать в качестве параметра адрес странички которую нужно открыть в нижнем врейме.

Еще можно на самой индексной страничке просмотреть адрес предыдущего локейшина и его открыть в нижнем фрейме. Тоесть схема такая, человек попал на нижний фрей, он переходит на индекс, индекс смотрит, что зашли, допустим, с эбаута и грузит эбаут в нижнем фрейме... Но вопрос. Стоит ли оно того?
Добавлено @ 18:31
Понимаю что это проблема с заказчиком

Но от себя хочу заметить, что хороших заказчиков почти не бывает. И профессионализм веб-мастера завист в первую очередь в умении объяснить заказчику, что ему надо.

Попытайся убедить клиента, что фреймы ему не нужны. И облегчишь себе жизнь.
PM MAIL   Вверх
Sergey N. Bocharov
Дата 27.9.2004, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 27.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Уважаемый Aliance, Ваш совет такой же (т.е такой же результат) как и совет GoodBoy.

Ух.
Так постараюсь, более детально обяъяснить, что требуется.

Значит так, есть сайт www.nikart.ru/INDEX.HTM - > страница index.htm содержит следующую разметку:

Код
<html>
<head>
<frameset rows="177,*" frameborder="0" framespacing="0" border="0">
<frame name="mn" src="menu.htm" marginheight="0" maginwidth="0" scrolling="yes" noresize>
<frame name="inf" src="news.php" marginheight="0" maginwidth="0" scrolling="yes">
</frameset><noframes></noframes>
</head>
</html>


Вопрос в следующем, возможно ли узнать с помощью JavaScript или PHP с какой страницы пришел пользователь НА САЙТ. -> далее такая у меня мысля, если узнать откуда пользователь пришел, то можно проанализировать url адрес, и пользователя отослать на нужную страницу на www.nikart.ru

Примерно так -> пришел пользователь с Rambler - а, и нажал на ссылку www.nikart.ru/company.php - ему отобразится страница с ОДНИМ нижним фреймом, (как будто её открыли используя target=_blank)... теперь используя Ваши советы, вставляем в эту страницу (company.php) JavaScript код, что-нибудь типа

Код
if (top.location.href == self.location.href) {
  top.location.href = "http://www.nikart.ru/index.htm";
}


в результате чего человек попадает НА СТРАНИЦУ, В КОТОРОЙ ОТОБРАЖАЕТСЯ ОБА ФРЕЙМА, но ОН ХОТЕЛ ЗАЙТИ НА СТРАНИЦУ О КОМПАНИИ (company.php), а попал на страницу INDEX.HTM, которая по умолчанию грузит во втором фрейме NEWS.PHP (а не COMPANY.PHP
)! (Фу...)

Так вот, если бы знать url адрес, откуда пользователь пришел, то можно проанализировать что идем после домена www.nikart.ru следует --- к примеру company.php и загрузить страницу index.htm, в которой ВО ВТОРОМ ФРЕЙМЕ БУДЕТ ГРУЗИТСЯ НЕ NEWS.PHP, а COMPANY.PHP
, т.е. INDEX.HTM выглядит теперь так должно

Код
<html>
<head>
<frameset rows="177,*" frameborder="0" framespacing="0" border="0">
<frame name="mn" src="menu.htm" marginheight="0" maginwidth="0" scrolling="yes" noresize>
<frame name="inf" src="company.php" marginheight="0" maginwidth="0" scrolling="yes">
</frameset><noframes></noframes>
</head>
</html>


(src во втором фрейме поменялся на company.php)

Уважаемые дамы и господа, подскажите, что же делать? (горю, завтра этот заказ сдавать, а блин фреймы огрызаются эх...)

Добавлено @ 18:58
Вот, вот Maveric -- ЭТО ТО ЧТО НУЖНО, НО КАК это РЕАЛИЗОВАТЬ, т.к. в JavaScript - е я не очень силен, если бы в PHP, то это другое дело.

От себя, к сожалению, не я с заказчиком разговариваю, мое дело сделать сайт.
PM MAIL   Вверх
Aliance
Дата 27.9.2004, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 2
Всего: 137



Цитата(Sergey @ 27.9.2004, 18:53)
Вопрос в следующем, возможно ли узнать с помощью JavaScript или PHP

Про php - это в другой раздел. Узнать можно. Я могу написать код библиотеки - она гарантированна даст тебе нужный результат.
Код

// Если среди пользователей будут пользователи, используюшие NN4
var isNav4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4);
if (top.location.href == self.location.href) {
   if (isNav4) {
       if (window.innerWidth != 0) {
           top.location.href = "http://www.nikart.ru/index.htm";
       }
   } else {
       top.location.href = "http://www.nikart.ru/index.htm";
   }
}

// Она же - в более усовершенствованном виде!!!
var isNav4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4);
if (parent == window) {
   // Ничего не делаем, если NN4 печатает фрейм
   if (!isNav4 || (isNav4 && window.innerWidth != 0)) {
       if (location.replace) {
          // Используем replace() для стирания страницы из журнала
          // Это нужно, чтобы пользователь, нажавший кнопку "Назад"
          //не попал в бесконечный цикл
          location.replace("http://www.nikart.ru/index.htm?content=" + escape(location.href));
       } else {
          location.href = "http://www.nikart.ru/index.htm?content=" + escape(location.href);
       }
   }
}


// "Вытягиваем" из строки поиска свойства и параметры...
function getSearchData() {
   var results = new Object();
   if (location.search.substr) {
       var input = unescape(location.search.substr(1));
       if (input) {
           var srchArray = input.split("&");
           var tempArray = new Array();
           for (var i = 0; i < srchArray.length; i++) {
               tempArray = srchArray[i].split("=");
               results[tempArray[0]] = tempArray[1];
           }
       }
   }
   return results;
}

// Устанавливаем в обработчик событий у элемента frameset
// onload="loadFrame()"
function loadFrame() {
   if (location.search) {
       var srchArray = getSearchData();
       if (srchArray["content"]) {
           self.content.location.href = srchArray["content"];
       }
   }
}

PM MAIL WWW ICQ Skype   Вверх
Alex Suslov
Дата 27.9.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 68
Регистрация: 17.9.2004
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Кстати, народ, это верстка, а не дизайн! Модераторы, приучайте людей различать эти понятия! exclamation.gif
PM WWW ICQ   Вверх
Aliance
Дата 27.9.2004, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 2
Всего: 137



Небольшая проблематичность заключается в особенности NN4, связанной с печатыванием нуль-фрейма, но это решаемо wink.gif
Удачи. Буду вопросы - задавайте. Функция должна работать!
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0793 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.