Javascript меню запоминания положения - PullRequest
1 голос
/ 14 ноября 2008

В настоящее время я работаю над меню JS для веб-приложения. Он состоит из двух полос: фиксированной основной и подменю, которое активируется (display: block from display: none) функцией Javascript. Выбранные параметры главного меню и подменю также подсвечиваются добавлением class = "main_on" и class = "sub_on" по событию onclick. Есть ли способ запомнить, какое подменю отображалось и какие параметры в настоящее время классифицируются как активные, когда пользователь нажимает клавишу F5 или страница перезагружается? Я ищу подход без файлов cookie и без базы данных, если это возможно.

Спасибо

Mike

1 Ответ

5 голосов
/ 14 ноября 2008

Вы можете сделать ссылку / элемент, по которому щелкнули (для события onclick), установить хеш URL в адресной строке. (т.е. http://server.name/page#URLhash) Если это ссылка, вам просто нужно настроить свойство HREF, в противном случае вам, возможно, придется манипулировать с помощью window.location.

Устанавливает текущее состояние. Когда страница перезагружается, проверьте значение хэша URL. См. http://developer.mozilla.org/en/DOM/window.location для получения подробной информации о том, как получить к нему доступ. Если хэш URL-адреса все еще находится в адресной строке, вы сможете получить значение.

Затем используйте значение, чтобы определить, какое меню активизировать. Таким образом, вы можете восстановить состояние таким образом.

Между браузерами есть некоторые различия. Выполните поиск в «Истории Ajax», в котором некоторые люди использовали URL-хэш для сохранения состояния после действий Ajax. Не та же самая проблема, которую вы пытаетесь решить, но похожая. Проверьте RSH: http://code.google.com/p/reallysimplehistory/

Будут использованы те же идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...