Вопрос веб девелоперам

Все, что вы хотели знать о программизме, но боялись спросить.
StS
Завсегдатай
Сообщения: 301
Зарегистрирован: 04 май 2005, 11:33

Вопрос веб девелоперам

Сообщение StS »

Почему народ не любит фреймы? Лет 10 назад браузеры не поддерживали фреймы, или отображали их некорректно. Сейчас AFAIK отключить фреймы можно только в Опере.
Задача: надо отобразить информацию (например, товары в корзине) так, чтобы она оставалась перед глазами при дальнейшей навигации по сайту. В то же время, информация должна апдейтится при добавлении товара в корзину. С фреймами можно засунуть это в фрейм один раз и не дергать БД и веб сервер. При добавлении товара перезагрузить фрейм.
Или эта проблема по-другому решается?
Zy
Маньяк
Сообщения: 4706
Зарегистрирован: 20 янв 2005, 19:11

Сообщение Zy »

Да тебе какая разница - любит, не любит? Если надо - используй. Gmail, например, весь на фреймах. Для быстроты реакции на события. портлеты - тоже на фреймах. Не заморачивайся.
StS
Завсегдатай
Сообщения: 301
Зарегистрирован: 04 май 2005, 11:33

Сообщение StS »

Да я один проект на фреймах уже сделал. Просто натыкался в Интернете на темы типа "чем плохи фреймы" и "меню на CSS вместо феймов". Не знал что Gmail на фреймах.
Спасибо.
Аватара пользователя
Gatchinskiy
Комбинатор
Сообщения: 20952
Зарегистрирован: 05 окт 2003, 20:44
Откуда: St. Petersburg(Gatchina) > Vancouver

Сообщение Gatchinskiy »

Zy писал(а): ... Gmail, например, весь на фреймах...
Zy, а с чего ты взял что Gmail на фреймах? ... пошел туда на всех скринах просмотрел source, не увидел или я не там смотрю? :roll:
Аватара пользователя
Earl Grey
Маньяк
Сообщения: 2893
Зарегистрирован: 22 фев 2005, 15:07

Сообщение Earl Grey »

StS писал(а):Да я один проект на фреймах уже сделал. Просто натыкался в Интернете на темы типа "чем плохи фреймы" и "меню на CSS вместо феймов". Не знал что Gmail на фреймах.
Спасибо.
Одна из неприятных особенностей фреймов (для тех, кто консерн) это плохая индексация поисковыми системами.

А решить проблему можно, ИМХО, используя CSS oriented design.

Например сделать динамическое наполнение div'а, позиционированного так как вам нужно.
Аватара пользователя
Earl Grey
Маньяк
Сообщения: 2893
Зарегистрирован: 22 фев 2005, 15:07

Сообщение Earl Grey »

Gatchinskiy писал(а):
Zy писал(а): ... Gmail, например, весь на фреймах...
Zy, а с чего ты взял что Gmail на фреймах? ... пошел туда на всех скринах просмотрел source, не увидел или я не там смотрю? :roll:
Надо source смотреть не через right click, а через view :)
Аватара пользователя
Gatchinskiy
Комбинатор
Сообщения: 20952
Зарегистрирован: 05 окт 2003, 20:44
Откуда: St. Petersburg(Gatchina) > Vancouver

Сообщение Gatchinskiy »

Уникурсал Уникурсалыч писал(а):
Надо source смотреть не через right click, а через view
... не понял, а что разный результат?
StS
Завсегдатай
Сообщения: 301
Зарегистрирован: 04 май 2005, 11:33

Сообщение StS »

Уникурсал Уникурсалыч писал(а): А решить проблему можно, ИМХО, используя CSS oriented design.
Например сделать динамическое наполнение div'а, позиционированного так как вам нужно.
[trn]Kak pri navigacii dinamicheski napolnyat' div? Dergat' bazu? Dazhe esli hranit' korzinu v sessii na servere, to veb server budet posylat' ee pri kazhdom perehode na druguju stranicu. Ya special'no vydelil [/trn][trn]ne dergat' BD [/trn][trn]i veb server[/trn]

[trn]Poiskovye sistemy - ne konsern.[/trn]
Аватара пользователя
Котяр
Маньяк
Сообщения: 1545
Зарегистрирован: 02 мар 2005, 13:05
Откуда: Toronto -> Vancouver

Сообщение Котяр »

StS писал(а): [trn]Kak pri navigacii dinamicheski napolnyat' div? Dergat' bazu? Dazhe esli hranit' korzinu v sessii na servere, to veb server budet posylat' ee pri kazhdom perehode na druguju stranicu. Ya special'no vydelil [/trn][trn]ne dergat' BD [/trn][trn]i veb server[/trn]

[trn]Poiskovye sistemy - ne konsern.[/trn]
выводи инклудом:
<div>
<?php
include('whatever.inc');
?>
</div>
А если SE "не консерн", то смело используй фреймы.
Zy
Маньяк
Сообщения: 4706
Зарегистрирован: 20 янв 2005, 19:11

Сообщение Zy »

Фрейм - это окно(т.е. объект window). Перезачитать в браузере можно только окно, никакой div и т.п. перезачитать нельзя.

На этом основаны технологии динамического изменния контента, типа, портлетов и gmail(забыл, как эта технология называется). В последнем случае выделяется hidden frame, который, собственно, и перезачитывается, а JavaScript управляет этими запросами.

Т.е. нужно изменить контент в ddlistbox'e. Кладем во скрытый фрейм что-то типа "....<input value='ddlb#=1, country=Russia'>...", и submit. Соответственно, скажем, сервлет это ловит, находит список городов для России и посылает клиенту. Опять же JavaScript дергает из скрытого фрейма данные и изменяет ddlistbox. Соответственно, можно резко уменьшить трафик, ускорить работу браузера, особенно, когда форма большая и ему нелегко ее перерисовывать каждый раз(как у gmail).

У меня на прошлой работе было такое приложение. Большая форма ввода, все меняется, но без перерисовки, такое впечатление, что работаешь с оконным приложением.
Zy
Маньяк
Сообщения: 4706
Зарегистрирован: 20 янв 2005, 19:11

Сообщение Zy »

выводи инклудом:
Это его не спасет.
StS
Завсегдатай
Сообщения: 301
Зарегистрирован: 04 май 2005, 11:33

Сообщение StS »

Zy писал(а): У меня на прошлой работе было такое приложение.
[trn]Na chem napisano?[/trn] Portlets?
Zy
Маньяк
Сообщения: 4706
Зарегистрирован: 20 янв 2005, 19:11

Сообщение Zy »

На чем написано? Portlets?
Нет, html + javascript. На серверной стороне java, но это не существенно.

Портлеты имеют существенно другую идеологию: их надо применять там, где есть несколько независимо друг от друга работающих окон. Порталы, короче.
Аватара пользователя
sz
Маньяк
Сообщения: 1266
Зарегистрирован: 17 фев 2003, 19:34

Сообщение sz »

Прочитал. Много думал.
Ужоснах. Хорошо, что я не вебдевелопер.
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Старина Зотин писал(а):Прочитал. Много думал.
в этом основная ошибка. много думать вредно
Ответить