![]() |
0 Всего найдено: 17
optimus20
Сообщение
13/03/2008 11:44
Копия темы
Динамический бэкграунд . В ходе прорисовки дизайна в голову пришла одна забавная мысль: «А почему бы не использовать AJAX для рендеринга сложных заливок бэкгрануда на сайте?» Смысл вот в чем (см. картинку ниже) Имеется AJAX сайт с блочной структурой главной страницы Размер блоков по вертикали различается Для блоков создана достаточно сложная заливка Реализация: С помощь AJAX вычисляем размеры блока по вертикали Отправляем данные в backened, где по имеющейся информации создается заливка Кэшируем полученную картинку для данного размера и типа блока (иначе рискуем перегрузить сервер ненужными преобразованиями) Fronted получает ссылку на картинку и прорисовывает ее Естественно можно подогнать бэкграунд под размеры, но сама идея при должной реализации открывает неплохие перспективы для не-Flash сайтов. Коллеги, что думаете по этому поводу? ![]()
optimus20
Сообщение
13/03/2008 11:55
Копия темы
. Смысл не в том, чтобы сделать это для конкретного сайта =) Я имею ввиду саму идею.
pavlick
Сообщение
13/03/2008 12:31
Копия темы
. все прямо молятся на ajax, особо не вдаваясь в подробности того, что же это такое на самом деле. А это всего лишь механизм асинхронной передачи xml запросов средствами JS. как им заполнять бэкграунды или еще чего ума не приложу )
Raa
Сообщение
13/03/2008 12:42
Копия темы
. и сразу же отправляем юзера в нокаут... первый удар в челюсть когда всё беспорядочно шевелится, второй удар, когда это всё начинает тормозить и глючить...
optimus20
Сообщение
13/03/2008 12:45
Копия темы
. Да чего тут понимать: PHP скрипт генерит нужную нам картинку исходя из присланных через ajax данных. ajax подхватывает эту картинку и дальше JS вживляет его в тело странички:)
kuzma
Сообщение
13/03/2008 12:56
Копия темы
. а что, разве просто средствами JS нельзя высчитывать высоту блока, и средствами CSS заливать этот блок бэком?
optimus20
Сообщение
13/03/2008 16:00
Копия темы
. Конечно можно! Даже нужно:) Но данная идея скорее больше подходит для задачи из какого нибудь учебника по Веб-программированию =)) чем для реализации "на поток". Естественно что грамотно сверстанный шаблон будет работать быстрее\лучше\без глюков и т.д. Возник вопрос как сделать заливку ВЫСОКОГО качества. В данном случае нам нужно отрендерить с помощью PHP GD обычный градиент от серого к белому шириной 1рх с переменной высотой. Именно изза того, что для каждого блока у нас будет свой подогнанный под него градиент, чисто визуально смотреться бужет гораздо симпатичнее... наверное :) Хотя я не проверял еще, на днях попробую:)
sprut
Сообщение
13/03/2008 16:49
Копия темы
. Это все равно что ковыряться левым мизинцем правой ноги перекинутой через голову, в левой ноздре :)
kuzma
Сообщение
13/03/2008 18:38
Копия темы
. велосипедостроителей в нашей стране станет на одного человека такого гемороя на свой зад еще, помоему, никто не придумывал (это о "для каждого блока свой подогнанный градиент") эта задача, или фича, подходит, только если того требует ТЗ и заказчик сквозь слюну вопит "отрендерите мне градиент от серого к белому при помощи PHP GD" ИМХО, больше никак.. уж больно много "если"
typhoon
Сообщение
14/03/2008 08:22
Копия темы
. Время генерации страницы с учетом интинсивного использования GD прямо пропорционально количеству блоков на странице и увеличивается по арифметической прогрессии. И если эту прогрессию умножить на количество посещений в день и пересчитать в единицах нагрузки на сервер что-то страшное получается) С учетом кеширования конечно нагрузка немного уменьшается. Но надо будет создавать кэш картинок с шагом в 1 пиксель, поскольку если высота блока будет отличаться хоть на 1 пикс, картинка должна будет создана заново. Думаю можно найти дешевую алтернативу с достаточно высоким качеством.
optimus20
Сообщение
14/03/2008 11:21
Копия темы
0
. Товарищи, доказывать полную доминацию моей идеи над стандартными средствами CSS я считаю глупо и бесполезно. Но у меня есть один интересный аргумент в ее пользу, который мне пришел в голову. Конечно он "трудоемок" (кому написать 500 строчек "лишнего" кода поднимите руки =) и заключается вот в чем: Есть такая замечательная штука, как компилируемые шаблоны. Многие из нас с ними сталкивались, да взять хотя бы обновление погодного информера с XML на сайте без CRON. До тех пор пока информация не изменится, шаблон (в данном случае картинка) не изменяется. Реализуется очень просто: Проверяем изменяли ли блок с информацией. Благо в любой более-менее нормальной CMS доступ к данному объекту имеется. Если же нет, то добавить еще одно поле UNIX_TIMESTAMP не проблема. Если информация изменилась: Подгружаем AJAX-класс, я например использую JsHttpRequest Котерова Высчитываем размер блока. Рендерим и сохраняем картинку. Если информация НЕ изменялась: Просто подгружаем готовую картинку и радуемся что ни один мегабайт серверой ОЗУ не пострадал =) Этот кусок кода с генерацией картинки можно вставить аж в три места: Если CMS поддерживает компилируемые шаблоны, то имплантируем код непосредственно в сегмент CRUD-операций CMS Если нет, то вручную создаем в CMS IFRAME с даннм блоком и ведем обсчеты там (нежелательно!) Прямо на сайте перед каждым обновлением Для себя в выбрал первый вариант как самый удобный с точки зрения архитектуры приложения (Обажаю рефакторинг :))) Вот собственно мои изыскания в пути достижения дзена :))) |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |