Как стать автором
Обновить

Комментарии 30

интересная статья.
мы время от времени пользуем флеш модуль для разных вещей раньше заменяли им загрузчик ХМЛ для джава скрипта.
могу уточнить одну штуку
конечо она может быть совсем не важна.
по дефолту в плеере на SharedObject стоит 100кб
но некоторые красавцы ставят 0 и небеспокоить а значит предупреждение или прозьба о увеличении не выводится.
незнаю может ли доджо насильно вывести такое придупреждение ? или среагировать и включить альтернативу?
через AS я с легкостью могу показать юзеру прозьбу или определить размер стораджа и если он полон перенаправить запрос и создать новый сторадж через поддомен или очистить старый. думаю такй функционал недоступен пока из доджо.
и есть важная штука! неполучтяс сделать 1на 1 пиксел флешку для этой цели по причине того что тогда не выведится никогда окошко с прозьбами
для этого нужно не меньше чем

If your SWF file attempts to create or modify local shared objects, make sure that your SWF file is at least 215 pixels wide and at least 138 pixels high (the minimum dimensions for displaying the dialog box that prompts users to increase their local shared object storage limit). If your SWF file is smaller than these dimensions and an increase in the storage limit is required, SharedObject.flush() fails, returning SharedObjectFlushedStatus.PENDING and dispatching the netStatus event.
> незнаю может ли доджо насильно вывести такое придупреждение ?
точно не знаю, не хватает времени все проверить, вот может народ поиследует и напишет свои комментарии толковые
>через AS я с легкостью могу показать юзеру прозьбу или определить размер стораджа и если он полон перенаправить запрос и создать новый сторадж через поддомен или очистить старый. думаю такй функционал недоступен пока из доджо
функционал показать прозьбу и очистить доступен

>и есть важная штука! неполучтяс сделать 1на 1 пиксел флешку для этой цели по причине того что тогда не выведится никогда окошко с прозьбами

ага, по умолчанию в нормальном сотосянии флешка спрятана, в момент когда надо показать диалог - сделано так что она автоцентрируется на экране
хорошо что так
а вообще молодцы люди делают боьше взможностей и придумывают хитрости.
насколько я знаю в JS 2 бует реализовано это все.
мы расматривали необходимость создать что-то вроде LiteSQL на такой основе
и скорее всего мы это присутим делать в ближайшее врем если никто не создаст подобное для нас ))
да и правильно что все большеазработчиков перестат смотреть на параноиков со всем тключенным и старьем наборту.
или двигаемся в перед и отбрасываем параноиков ( например такие никогда не покупают ничего в инет магазинах) или любим параноиков и теряем визуалов и эстетов ( которые покупают а значит оплачивают работу )
да, иметь чтото вроде LiteSQL было бы очень удобно... копая в этом направлении можно Флеш сторадж скрестить с http://taffydb.com/

а мне вот что еще интересно:
есть никем не реализованная идея - сохранение картинок в таком хранилище и при повторном запросе таковых не тянуть их из инета, а брать прям из хранилища и рендерить с помощью canvas .. давно вынашиваю даную идею.
я думаю не реалзовывают потому что кешем именно изображений занимается сам бровзер и вроде совсем не плохо тоделает.
как AS девелопер скажу чтоб я мог сохранить в шаред обжект изображения мне нужно их закачать во флеш создать бипмап и внести в в шаред обжет
получается при первой загрузке страницы идет двойной лоудинг имеджей
ну или ждать пока джаваскрипт сам сможет формировать бипмапы и подавать в флеш на сторадж.
но думаю что когда будет бипмап в джава скрипте тогда уже и у него будет шаред обжект
кешем занимается но не всегда так как необходимо, к примеру клево было бы сделать версию гугл-карты которая только только однажды качает картинки с интернета, с таким веб-приложением работать было бы гораздо приятнее
реализовать хочу так:
получать битмап через жабаскрипт в тех браузерах где это возможно - потом сохранение во флеш сторадже, в тех геде это не возможно, в частности в ИЕ, для получения битмапа изображений придется использовать повторную загрузку картинок используя АЯКС, правда повторной она будет условно, так как картинки уже закешированы браузером и запрос будет происходить мгновенно
мы сейчас изучаем ситуацию с этим всем и действительно заинтересованы создать что-то подобное
мы создадим в гугль опен сорц проект и можем все вместе приступить к осуществлению
но пока нужно изучить вопрос как имено мы все сделаем
небудет ли прблем с отрисовкой бипмапа полученого из флеша и все подобное
ну ждите через месяц статью по этому поводу :), с моей стороны подготовительный этап к этому вопросу закончился, есть сформировавшиеся идеи, осталось их воплотить в жизнь
мы тоже сейчас немного стуктурируем мысли и нужно провести тесты на сохрание флешом бипмапов и востановление их по надобности
а также продумать структурированное хранение этих бипмапов и создать методы доступа
ну не все так плохо, вроде есть готовые хаки уже для IE для картинок, используется MHTML графики, но это все нуждается в тестах

вообще - очень интересная идея и мы с R_B определенно заинтересовались :-)
я рад, что есть единомышленники :)
вот мы немного пообсуждали все, вышло следующее - tiffy db + flash storage + кэш картинок + контроль версий и бэкенд (в нашем случае - java + db для хранения истории версий)
а что это вышло то? тут просто пока перечисление наработок
имелся ввиду концет - что интересно сделать. И, думаю, мы возьмемся за это и сделаем.

Taffy DB надо будет научить хранить картинки, а флеш хранить все эти данные.

Этого будет достаточно для начала.
ага, а я начну прям с картинок и флеша, думаю что на первом этапе Taffy DB не столь важен

будет кстати хорошо потом поделится опытоми возможно скрестить наработки, одна голова хорошо, а змею-горынычу лучше
встречный вопрос - это будет AS3?

мы сделаем taffy db + flash.
нет, это будет JavaScript + Flash Storage

предлагаю в личку писать или в аську, она есть на моем сайте в разделе контакты
у меня есть вопрс
а вы разработчик ?
и с этого момента в личку
да, я разработчик
"Неработоспособность при работе скрипта с локальной файловой системы file://" - не понял.
это значит что сторадж в оригинальной реализации Dojo не работает если запускать страницы с file:// (к примеру file:///D:/temp/test.html), в fullajax реализации этот недостаток устранен.
есть еще одно интересное решение хранения данных у клиента - http://www.thomasfrank.se/sessionvars.html
он использует свойство top.name и ту его особенность, что при перегрузке страницы оно сохраняется. в нем можно хранить до 2 мб информации

но его можно использовать скорее как замену сессий, чем полнофункциональное хранилище
да, window.name (window.top.name) - это из другого разряда хранилищ
Есть утилита, которая делает сборку из произвольных файлов dojo:
http://dojotoolkit.org/book/dojo-book-0-9/part-4-meta-dojo/package-system-and-custom-builds
Сам ее еще не пользовался, но планирую изучить. Получившиеся 100 килобайт был сделаны её или вручную? Я пока не уверен, что большое количество js-файлов безоговорочно плохо, т.к. грузятся они лишь раз, а потом берутся из кэша.
Неработоспособность через file:// можно побороть включив все нужные файлы в заголовке страницы. Тоже не очень удобно, но работает.

А на сколько долго данные будут урониться? Тому сайту мегабайт, этому. Если потрудиться, то можно и какой-нибудь старенький жесткий диск забить. Может Flash и удаляет старые данные и все с этим нормально, но сомнения у пользователей будут.
первые получившиеся 100 килобайт были сделаны вручную, уверен с помощью утилиты будет не меньше, поиследуйте - потом с нами поделитесь опытом

> Я пока не уверен, что большое количество js-файлов безоговорочно плохо
что значит пока не уверен? а когда будете уверены? :)

>Неработоспособность через file:// можно побороть включив все нужные файлы в заголовке страницы.
это я так понимаю предположение? так вот я вас уверяю проблема заключается не в том как подключать скрипты, а в том что file:// не имеет домена, соотвественно возникает проблема с организацией Flash SharedObject

длительность хранения не проверял, точно не скажу, этот вопрос требует дополнительного иследования
> а когда будете уверены? :)
Не уверен, что плохо, потому что работает :)
>это я так понимаю предположение? так вот я вас уверяю проблема заключается не в том как подключать скрипты, а в том что file:// не имеет домена, соотвественно возникает проблема с организацией Flash SharedObject

Тогда я просто не понял к чему это относилось. Я думал к Dojo вообще. А то что так не работает, я не вижу ничего полхого. Данные же должны привязываться к месту от куда пришли.
ну мне бывает периодически удобно тестировать простые скрипты или страницы с локальной файловой системы, поэтому для меня это важно
Сделал сборку. Оказалось проще, чем я думал, т.к. уже была готовая заготовка. Надо было выполнить только одну команду.
storage-browser.js 44 Кб - сюда попали все три типа хранения
dojo.js 77 Кб - стандартный файл.
Оба файла сжаты shrinksafe. Без сжатия они будут в 2.5 раза больше.
вово, т.е. в сумме > 100 кб, нехорошо
Не понимаю зачем использовать именно флэш, с его пугающим запрашивающим окошком, если BrowserPersistence.ru делает всё то же самое и без флэш.
А по теме — за эти полтора года что-нибудь изменилось? Все эти 3 упоминавшиеся библиотеки застыли в развитии, не обновляются, статистики внедрения и примеров нет. А хотелось бы увидеть кейсы с примерами и анализом, какую это пользу принесло проекту, какие были подводные камни.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории