![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Посмотрел некоторые Java фреймворки, понравился демо сайт полностью на ajax (Google Web Toolkit) http://3d-port.com/
Однако тут есть существенный минус - с отключенным JavaScript не работает. Существуют ли фреймворки, позволяющие сделать ajax сайт, работающий также и при отключенном JavaScript? |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 3 Всего: 48 |
Нет. Знаете как AJAX расшифровывается?
|
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
В курсе. Но теоретически не вижу препятствий к тому, что бы использовать одинаковый шаблонизатор на сервере и клиенте, и в случае отсутствия javascript генерировать то же самое на сервере.
|
|||
|
||||
Nofate |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 13.10.2008 Репутация: 2 Всего: 8 |
А данные то вы как будете асинхронно гонять без JS?
-------------------- The future is not set, there is no fate but what we make for ourselves. Нофейтово пространство и смежные области |
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Очевидно же, если js нет, то синхронно, через http и html. |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
||||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Logo
ИМХО AJAX для сайтов можно применять только в очень маленьких количествах и очень осторожно. В свое время я писал такой пост: http://forum.vingrad.ru/forum/topic-285228...y2056408/0.html Пост старый и уже не все ссылки на примеры там работают. Насчет "сделать Ajax сайт, который работал бы и без JS (точнее имел бы вторую версию, работающую без JS)": Теоретически можно. Но готовых фреймворков я не встречал. Да и над реализацией нужно будет попотеть. Какая тут сложность? - должно быть соответствие URL контенту: т.е. в AJAX версии при изменении содержимого какого-нибудь элемента должен меняться URL. И должна существовать другая версия сайта, без использования JS, которая по данному URL выдавала бы соответствующий контент. Это сообщение отредактировал(а) Vasay - 29.5.2012, 11:28 -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Logo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Да, есть такое дело... Мне кажется это можно было бы реализовать таким концептом
|
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Может я не правильно Вас понял, но мне показалось, что в Вашем варианте все как-то сложно. Зачем, например, отправлять на сервер дерево состояний виджетов? ИМХО, можно сделать проще: есть страница состоящая из виджетов. Каждый виджет имеет состояние. Состояние всех виджетов закодировано в URL страницы. Допустим, у нас есть выиджет, со списком товаров. Показывается 10 товаров. Есть кнопка "показать следующие 10". При ее нажатии, при наличии js, срабатывает событие "он клик", запускается скрипт обработки, происходит обращение к некоему сервису на нашем сайте, который должен выдать следующие 10 товаров (общение может происходить, например c помощью json). После обновления товаров в виджете скрипт меняет в URL соответствующий параметр, отвечающий за состояние конкретного виджета, блокирует переход по ссылке и меняет "href" кнопки "показать следующие 10" для того что бы она вела уже на следующие 10 товаров. Если js нет или обращение первое, то происходит переход ссылке кнопки "показать следующие 10". На нашем сайте запускается некий конструктор страницы, который по состоянию виджетов (переданному в URL ссылки) создает страницу со всеми виджетами. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Забей! Мало того, что процент НЕиспользования js на клиентских машинах пренебрежительно мал, так еще они попадают под корпоративный сегмент, который в подпвляющем количестве неинтересен сайту. Судя по акцентам, как мне показалось, речь может идти о мобильной платформе - смартфонах и телефонах, где зачастую или js отключен, или его нет, или серьезные ограничения. Есть такое дело. Но тут настолько разношерстная компания, что делать универсальный сайт "для всего" - это гораздо затратнее и хуже, чем делать под десктоп и мобильную платформу раздельно. Для мобилок при запросе смотрим заголовки и "подсовываем" другую страницу. Либо при первом входе определяем модель, и в зависимости от нее не только можем "дать" клиенту сайтик под его разрешение, но и проинспектировать свойства и дать выбор - показывать ему обычный сайт или мобильный; понятно, при обычном риска по поводу js он берет на себя. |
|||
|
||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Гугль Бот тоже не интересен сайту? -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Logo |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
Хранить состояние ВСЕХ виджетов в url проблематично, url будет длинный и не ЧПУ.
При навигации по страницам редко когда обновляется весь контент полностью. Обычно меняются центральные виджеты, иногда виджеты в правой/левой колонке. Что бы знать, что изменилось, серверу нужно знать, что было на предыдущей странице.
Именно в данном конкретном случае я бы вообще сделал для no javascript обычный пейджер. Поисковику будет странно видеть кучу похожих страниц, причем страница при будет постепенно разрастается, нагружая как загрузку страницы (размер), так и выборку из БД.
Да, создание фреймворка с такой структурой весьма сложно. Использование же, как мне кажется, не должно быть сильно сложнее обычных action-based фреймворков. |
||||||||
|
|||||||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Я думаю, при использовании Ajax а ЧПУ придется забыть. Так надо отправить только запрос на новую информацию для изменяемого виджета. Так для версии "no JS" и получается обычный пэйджинг, а для версии с JS - динамическое обновление товаров на странице, без перезагрузки страницы. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
Logo |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 694 Регистрация: 22.7.2008 Репутация: нет Всего: 10 |
А как знать, какие виджеты будут на следующей странице?
Мне показалось, что имеется ввиду постоянное увеличение размера страницы, добавляя нужное количество новостей, в зависимости от url. Да, обычный пейджер, с номерами страниц, и ссылками на первую и последнюю страницу.
Ну почему, если сделать как следует, то можно. Тот же twitter тому пример. |
||||||
|
|||||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Так страница не меняется. Меняется содержимое одного виджета.
В простом частном случае, можно сделать. В случае если мы хотим создать универсальную систему с набором виджетов - то придется хранить состояние всех виджетов в URL, при этом о ЧПУ придется забыть. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |