Еще раз спасибо за найденное вами слабое место. Алгоритм доработан, с учетом отсекания http_referer чем либо (браузером или прокси). Теперь в случае когда http_referer не пропускается, в работу вступает еще один известный алгоритм реализации прямых АЯКС ссылок - дозапрос контента после загрузки стартовой страницы.
В доработке алгоритма помогла недавняя статья про альтернативный способ хранения сессионных данных в переменной window.name http://www.thomasfrank.se/sessionvars.ht….
Можете проверить работу нашего алгоритма на сайте http://fullajax.ru предварительно сняв галочку в настройках Оперы с чекбокса "Включить указание источника перехода" (Интрументы->Настройки->Дополнительно->Сеть->Включить указание источника перехода)
само кодирование не причем, я понимаю что статья про кодирование, но в ней затронут и интересующий меня вопрос про data:url, вот я и решил воспользоваться моментом.
Еще раз: суть задачи в том чтобы взять бинарные данные картинки (getImageData) и запихнуть их в локальный сторадж, это сделать на данный момент не проблемно. Но вот положить эти бинарные данные обратно в картинку - предполагается возможным только используя механизм data:url, а если картинка большая - то это не сработает.
Надеюсь понятно описал.
первая мысль несовсем удобна, а если я хочу 1мб-ую фотку таким образом показать? по поводу мысли второй не понял...
по поводу третьей мысли: почитать что это такое можно тут http://browserpersistence.ru/, посмотреть в действии тут http://fullajax.ru (естественно сначала чтобы увидеть эффект нужно пройтись по ссылкам на сатйе чтобы они закешировались в сторадже)
javascript атакует, и уже давно :). спасибо за интересную статью...
последнее время вопрос использования схемы data:url стал подниматься все чаще и чаще... но для больших изображений, насколько я знаю (прочитав на сайте http://webo.in), имеются ограничения в размерах, и это очередной камень преткновения! как вы думаете какими способами можно обойти эти ограничения? если бы небыло этого ограничения - было бы довольно просто синтезировать локальный Flash Storage и конвертер изображений в схему data:url - получился бы максимально эффективный локальный сторадж... так как бы обойти ограничения по размеру? может у кого есть умные мысли?
Спасибо, к сожалению в пару слов не влезть, реализация АЯКС истории - это еще один из гемороев, каждый из 4-х браузеров (ФФ, ИЕ, Опера и Сафари ) - требует специфического для него решения... в своей либе я долго вылизывал алгоритм работы истории, советую вам использовать уже существующие наработки, вот к примеру эту http://code.google.com/p/reallysimplehis…
на сайте http://fullajax.ru - принцип тот же, но используется своя реализация, которая немного более адаптирована для использования AHAH (Asynchronous HTML and HTTP) + аякс история в моей реализации интегрирована прям в методы коммуникации (т.е. другими словами, про историю думать не надо, она реализуется автоматически)
штучка хороша, использует принцип дозапроса данных после отображения либо главной страницы либо страницы пустышки (соотвественно не лишена указанных для этих случаев недостатков) + как небольшой недостаток использование Flash.
Аналогичный функционал можно сделать используя один javascript. К примеру в fullajax реализации это решается вызовом одной функции SRAX.directLink(), куда уж проще :) Пример (там же смотрим в исходный код)
смотрите на реализацию на моем сайте http://fullajax.ru, поисковики его хавают на ура, и АЯКС там везде, и это только один из примеров, в данном случае используется техника Fly AJAX (преобразование в AJAX «налету», или если по другому называть AJAX-фильтр - ссылки и формы по указанным критериям автоматически превращаются в AJAX)
вариантов решения проблемы индексации есть несколько, но это не входит в рамки данной статьи... выше указанные товарищем alex_blank способы тоже можно использовать удачно... универсального лекарства в мире не существует ни от чего, поэтому выбор того или иного подхода зависит от каждого конкретного случая
ну я бы сказал что там не одни AJAX компоненты, вот к примеру http://amberjack.org - Amberjack is a lightweight Open Source library, enabling you to create site tours. Внутри даже и не пахнет AJAXом, но штука очень полезная... а вообще спасибо за ссылку, интересная подборка.
да, я думаю что идея оригинальная, и еще раз повторюсь - эта идея не панацея, она имеет как достоинства так и недостатки, целесообразность ее использования каждый должен решать сам, я уверен что во многих ситуациях использовать ее нет необходимости, но знать о существовании такого подхода не помешает никому, вам лишние знания за горбом не носить, как минимум, вам может когда-то пригодится:
1) кроссбраузерный прием сохранения реферера при использовании редиректа с помощью javascript - только этот алгоритм чего стоит, я его нигде не слизал, а сам экспериментальным методом составил, и в инете такой алгоритм не валяется
2) прием обрыва потока ненужных данных и получение нужного контента - пусть это будет используя что угодно - хоть реферер, хоть куки, хоть серверные сессии, - это уже как вам выгоднее
возможно, в ближайшее время (если будет свободных пару часов) я постараюсь описать продолжение - еще один из примеров работы АЯКС (прием базируется на схожем алгоритме, но более эффективен), который до сих пор нигде не использовался (хотя изначально не я его придумал, но значительно расширил)
1) дело не в только в жс скриптике, а в самом алгоритме
2) опять пустые слова про запад :), нету за бугром такого
я уверен если бы эту статью опубликовали гдето за бугром на английском языке, то народ бы подругому относился, как то не ценим мы свои мозги
хороший мощный фреймворк, у него много интересных наработок и идей, + к тому же опенсорс, конечно тяжеловат, надо применять с головой, предназначен не для новичков, а для более опытных спец-в
ну вот, прошло пару дней и нарисовалось еще более интересное применение описанного алгоритма, так сказать его продолжение, в синтезе с Dojo Storage (или каким нибудь другим хранилищем) получится очень удачное решение и загрузка страниц (в данном случае стартовой) будет работать быстрее даже чем с отключенным жабаскриптом
P.S.: дом строят из камней, так что давайте еще побольше закидаем нас камнями
удобно всетаки работая удаленно иметь свой офис или его подобие, желательно недалеко от дома, тогда по дороге на работу и обратно можно еще и проветрится :)
так как отдельный офис дорого, тогда в этом случае Coworking идеальный вариант, многие пункты автоматом исполняются...
да этого не нужно боятся, АЯКС не панацея, и нет пропаганды - все на АЯКС, все надо делать с головой, делать надо то что нужно, а не только то что модно; в тоже время мир не однаобразен и в нем столько разных случаев, так что комуто вполне нужна и генерация всего контента с помощью АЯКС
вот один из возможных вариантов http://extjs.com/deploy/dev/examples/des… - куда вполне можно добавить много АЯКСа, и будет вери гуд
В доработке алгоритма помогла недавняя статья про альтернативный способ хранения сессионных данных в переменной window.name http://www.thomasfrank.se/sessionvars.ht….
Можете проверить работу нашего алгоритма на сайте http://fullajax.ru предварительно сняв галочку в настройках Оперы с чекбокса "Включить указание источника перехода" (Интрументы->Настройки->Дополнительно->Сеть->Включить указание источника перехода)
Еще раз: суть задачи в том чтобы взять бинарные данные картинки (getImageData) и запихнуть их в локальный сторадж, это сделать на данный момент не проблемно. Но вот положить эти бинарные данные обратно в картинку - предполагается возможным только используя механизм data:url, а если картинка большая - то это не сработает.
Надеюсь понятно описал.
по поводу третьей мысли: почитать что это такое можно тут http://browserpersistence.ru/, посмотреть в действии тут http://fullajax.ru (естественно сначала чтобы увидеть эффект нужно пройтись по ссылкам на сатйе чтобы они закешировались в сторадже)
последнее время вопрос использования схемы data:url стал подниматься все чаще и чаще... но для больших изображений, насколько я знаю (прочитав на сайте http://webo.in), имеются ограничения в размерах, и это очередной камень преткновения! как вы думаете какими способами можно обойти эти ограничения? если бы небыло этого ограничения - было бы довольно просто синтезировать локальный Flash Storage и конвертер изображений в схему data:url - получился бы максимально эффективный локальный сторадж... так как бы обойти ограничения по размеру? может у кого есть умные мысли?
на сайте http://fullajax.ru - принцип тот же, но используется своя реализация, которая немного более адаптирована для использования AHAH (Asynchronous HTML and HTTP) + аякс история в моей реализации интегрирована прям в методы коммуникации (т.е. другими словами, про историю думать не надо, она реализуется автоматически)
Аналогичный функционал можно сделать используя один javascript. К примеру в fullajax реализации это решается вызовом одной функции SRAX.directLink(), куда уж проще :)
Пример (там же смотрим в исходный код)
вариантов решения проблемы индексации есть несколько, но это не входит в рамки данной статьи... выше указанные товарищем alex_blank способы тоже можно использовать удачно... универсального лекарства в мире не существует ни от чего, поэтому выбор того или иного подхода зависит от каждого конкретного случая
1) кроссбраузерный прием сохранения реферера при использовании редиректа с помощью javascript - только этот алгоритм чего стоит, я его нигде не слизал, а сам экспериментальным методом составил, и в инете такой алгоритм не валяется
2) прием обрыва потока ненужных данных и получение нужного контента - пусть это будет используя что угодно - хоть реферер, хоть куки, хоть серверные сессии, - это уже как вам выгоднее
возможно, в ближайшее время (если будет свободных пару часов) я постараюсь описать продолжение - еще один из примеров работы АЯКС (прием базируется на схожем алгоритме, но более эффективен), который до сих пор нигде не использовался (хотя изначально не я его придумал, но значительно расширил)
2) опять пустые слова про запад :), нету за бугром такого
я уверен если бы эту статью опубликовали гдето за бугром на английском языке, то народ бы подругому относился, как то не ценим мы свои мозги
P.S.: дом строят из камней, так что давайте еще побольше закидаем нас камнями
так как отдельный офис дорого, тогда в этом случае Coworking идеальный вариант, многие пункты автоматом исполняются...
вот один из возможных вариантов http://extjs.com/deploy/dev/examples/des… - куда вполне можно добавить много АЯКСа, и будет вери гуд