Убедить браузер кэшировать DOM, измененный JavaScript - PullRequest
0 голосов
/ 29 апреля 2011

У меня есть веб-приложение, на первой странице которого есть форма для входа. Когда форма входа в систему отправлена, некоторые jiggery-pokery происходит за кулисами, и появляются данные пользователя - без загрузки страницы.

Проблема в том, что, когда пользователь уходит со страницы, а затем использует кнопку «Назад» для перехода назад, страница находится в своем исходном состоянии, в котором нет входа. Можно ли в браузере кэшировать измененный DOM?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

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

Исправьте «jiggery-pokery», чтобы он не сломался.

  • Я имею в виду следующее: это не ДЕЙСТВИТЕЛЬНО вход пользователя, а просто иллюзия 1009* вход в систему
  • Так что вам нужно изменить его так, чтобы он хранил некоторую информацию (вероятно, в сеансе), которая проверяет, что они вошли в систему.

Как только jiggery-pokery исправлен, ваша страница может выполнить проверку для этой части информации и представить «зарегистрированный» DOM.

  • Если они не вошли в систему, онавсе еще использует старый метод JS, чтобы показать оригинал, войти в него и обновить DOM (в первый раз).

Имеет смысл?

Текущийflow:

  1. Посетить сайт

  2. JS логин

  3. Обновление DOM

Новый поток:

  1. Посетить сайт

  2. Проверьте, авторизован ли вы

  3. Представьте соответствующий DOM

  4. JS Login

  5. Backendхранит данные для входа в систему

  6. JS обновляет DOM.

0 голосов
/ 29 апреля 2011

Вы можете попробовать использовать такой плагин как:.

Надеюсь, это поможет.

...