Сложный вопрос об объекте истории JavaScript и файлах cookie - PullRequest
1 голос
/ 08 августа 2010

У меня есть одностраничный сайт с раздвижными панелями, некоторые из которых имеют внешние ссылки. Желаемое поведение заключается в том, что когда посетитель нажимает на внешнюю ссылку, он переходит на нее. Когда они нажимают кнопку «Назад», они возвращаются к панели, на которой они были.

Пока у меня все работает, сохраняя состояние, сохраненное в куки.

Мне интересно, однако, если невозможно игнорировать cookie, когда посетитель просто не использовал кнопку "назад", или приходят с сайта, отличного от связанных на мой сайт . Я изучил использование history.previous, который, похоже, имеет проблемы с разрешениями, и document.referrer, который, похоже, не распознает «возвращение» в качестве реферера.

Идеи

1 Ответ

0 голосов
/ 08 августа 2010

Вместо использования файла cookie вы можете использовать часть привязки вашего URL, например,

www.example.com/mypage.html#panel1,state:xy

Таким образом, URL будет восстановлен с помощью кнопки назад, но не при прямой ссылкена www.example.com/mypage.html.

(Этот метод используется GWT , как показано в их демонстрации, например: http://gwt.google.com/samples/Showcase/Showcase.html#!CwBasicButton)

...