Обработка графического интерфейса после нажатия кнопки «Назад» - PullRequest
0 голосов
/ 08 июня 2010

Я использую небольшой JS, чтобы пометить записи как прочитанные при нажатии, прежде чем пользователь перейдет на страницу ввода.Когда пользователь нажимает кнопку «Назад», removeClass, который я использовал, похоже, не сохраняет свой эффект.

Есть ли способ принудительно настроить поведение Back?

Ответы [ 4 ]

1 голос
/ 08 июня 2010

IE 8, Firefox и другие браузеры запоминают записи формы при нажатии кнопки "Назад".Вы можете использовать это для сохранения некоторого состояния на странице, когда пользователь нажимает кнопку «Обновить» или «назад».

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

К сожалению, IE6 и 7 не поддерживают запоминание значений формы при возврате или перезагрузке, поэтому вам придется прибегнуть к чему-то вроде куки, еслиВы заботитесь об этих браузерах.Не забывайте хранить небольшой объем данных, хранящихся в файлах cookie, поскольку они будут отправляться на сервер при каждом запросе.Вам также понадобится способ очистки этого cookie.

Когда я хочу сохранить большое количество разрозненных состояний, я использую JSON.stringify из json2.js Дугласа Крокфорда.

0 голосов
/ 08 июня 2010

Как и предполагалось, вы можете использовать куки. Или, если вы не хотите этого делать, вы можете сохранить информацию в скрытых полях формы и при загрузке страницы (или уже готовой) прочитать значение и при необходимости установить состояние страницы.

0 голосов
/ 08 июня 2010

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

Кроме этого, выможет использовать некоторый код на стороне сервера для запоминания посещенных записей в сеансе.

Если записи являются элементами, вы можете присвоить им стиль:

a:visited {}
0 голосов
/ 08 июня 2010

Когда пользователь нажимает кнопку Назад, браузер перезагружает страницу с нуля (кроме Firefox, который запоминает значения форм), и Javascript старой страницы и его эффекты исчезают.

Чтобы обойти это, вы можетесохранить состояние страницы в файле cookie, затем прочитать файл cookie при загрузке страницы и восстановить состояние, используя библиотеку cookie Javascript .

...