2008-11-14 2 views
1

В настоящее время я работаю над меню JS для веб-приложения. Он состоит из двух баров, фиксированного основного и подменю, которое активируется (отображение: блок с дисплея: нет) с помощью функции Javascript. Выбранные параметры основного меню, а также подменю также выделяются добавлением класса on = «main_on» и class = «sub_on». Есть ли способ запомнить, какое подменю было отображено и какие параметры в настоящее время классифицируются как активные, когда пользователь нажимает F5 или перезагружает страницу? Если возможно, я ищу не-cookie и не-базу данных.Меню Javascript, сохраняющее позицию

Спасибо,

Майк

ответ

5

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

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

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

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

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

+0

Спасибо, я не знал, что можно манипулировать JS так легко. – 2008-11-26 11:46:43

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