2010-10-01 9 views
0

Я создаю сайт Flash с функцией динамического поиска ресурсов, где куча флажков переключает различные типы предметов одежды в галерею. Например, пользователи могут проверить «Рубашки» «Джинсы» и «Сумки» из списка, а динамический массив изображений будет загружен в галерею, соответствующую их выбору.SWFAddress и постоянство данных

Моя проблема заключается в поиске способа сохранения состояния выбора пользователя, когда они уходят и возвращаются на страницу.

Если у сайта была кнопка SUBMIT для пользовательских данных, я бы кодифицировал это в URL с помощью SWFAddress при нажатии кнопки (т.е. mysite.com/#/shirts-jeans-bags/), но так как клиент требует флажки, чтобы показать немедленные результаты, мне нужен другой подход. (В противном случае каждый щелчок на флажке добавит в историю SWFAddress пользователя).

Я хочу, чтобы сайт сохранил свои данные, если пользователь должен был перейти от страницы, а затем нажать кнопку «Назад» браузера.

Это что-то, что я могу сделать с помощью SWFAddress? Лучше использовать FlashVars? Каков наилучший способ сохранения данных?

Спасибо! -B

ответ

0

Вы можете вызвать флеш-фильм из javascript onbeforeunload. Однако я считаю, что наиболее распространенный подход заключается в отражении текущего состояния выбора в URL-адресе. По вашим словам, каждый флажок меняет SWFAdress.

Если вам не так много адресов в истории SWFAddress (давайте 5 разных URL-адресов после использования фильтра галереи 5 раз), и вы хотели бы, чтобы кнопка «Назад» переходила в другой раздел, вы можете всегда обрабатывайте это в своем SWF, отслеживая навигацию (перейдите на предыдущую страницу в истории, которая не является галереей).

Надеюсь, я помог.

+0

Есть ли способ сделать это? Я могу пропустить все записи галереи, кроме последней? –

+0

Как и Датчанин, вы можете использовать класс SharedObject, однако я бы пошел с моим предлагаемым решением. Причина в том, что если я в поиске, где я выбрал флажки A, B, E, и я хочу поделиться результатами с другим человеком, это в значительной степени единственный способ пойти. – ozke

0

Ваш лучший выбор здесь, вероятно, является классом SharedObject. Это флеш-версия файлов cookie и позволяет хранить данные на компьютере пользователя.

Другие варианты обновления URL-адреса в ответ на любые изменения в флажках, как вы упоминаете, или сохранение состояния на сервере для каждого пользователя и обновление при внесении изменений, но я думаю, что SharedObject проще и уместнее.

Смежные вопросы