Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 09:15   #1
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию вопрос: как зафиксировать возврат по кнопке back

Добрый день!

Возникла необходимость определить, открыл пользователь страницу напрямую, либо вернулся по кнопке <=back в браузере. Такая вот простая задача.

Нужно получить каким угодно способом сигнал, что страница была открыта по нажатию кнопки "назад". в window.onload вставить alert("перешли по кнопке back") :-)

Прежде чем сюда написать, перелопатил порядочно инета, но везде всё не то. Находил методы как сделать нажатие кнопки назад (history.back(-1)), либо что-то связанное с location, с якорями, но конкретно моей задачи так и не нашел нигде, что печально.

Если вы знаете какую-нибудь библиотеку, где реализована эта задача, либо знаете какой-нибудь метод или идею как это сделать, поделитесь плиз
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 30.10.2012, 21:50   #2
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

абыдно, что никто не знает...
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 30.10.2012, 22:30   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Только записывать куку предыдущей страницы.
Виталий Желтяков вне форума Ответить с цитированием
Старый 31.10.2012, 00:15   #4
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Даже затрудняюсь предположить, зачем вам такой функционал. Это невозможно сделать даже через куки. Может History.API новый и может, но если нет - значит нельзя вовсе.
Но можно узнать вернулся ли человек на предыдущую страницу(необязательно каким образом, но вернулся). Это да - перезаписывать кук. Тоесть взять кук и добавлять в него например через запятую id станицы, удаляя все кроме 2ух последних. А при загрузке каждой страницы - сплитом разбивать кук на массив и проверять равенство первого значения кука с id страницы. Если не равны, то удалять первый элемент, и аппендить id страницы, а если равны то профит.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 31.10.2012, 10:24   #5
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Даже затрудняюсь предположить, зачем вам такой функционал. Это невозможно сделать даже через куки. Может History.API новый и может, но если нет - значит нельзя вовсе.
Но можно узнать вернулся ли человек на предыдущую страницу(необязательно каким образом, но вернулся). Это да - перезаписывать кук. Тоесть взять кук и добавлять в него например через запятую id станицы, удаляя все кроме 2ух последних. А при загрузке каждой страницы - сплитом разбивать кук на массив и проверять равенство первого значения кука с id страницы. Если не равны, то удалять первый элемент, и аппендить id страницы, а если равны то профит.

Насчет проверки, что человек был на странице - это без сомнения можно. Даже хоть через файловый кеш, хоть через мемкеш. сохранять "памятку" можно, значит и проверить можно.

Но трабла в том, что если человек возвращается по нажатию "назад", то должны оставаться данные, которые он ввёл в некоторые поля. Загвоздка в том, что данные он вводит не в элементы управления (т.е. не в input-ы). Это не я придумал, и когда всё это делалось, не задумывались о том что может такое быть. Но скажем если изменился <span></span>, например сделался <span>XXX</span> в результате каких-нибудь выборов, то при возврате назад в спане не появится XXX. Отсюда и возникает наихреновейшее решение этой задачи: сохраняем нужную запись в куку при уходе. И если вернулись (только если вернулись с помощью <=Back!), куку смотрим, иначе пропускаем.

Вот такая вот загогулина
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 31.10.2012, 10:40   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Добавить скрытые поля и данные туда сюда гонять?
eval вне форума Ответить с цитированием
Старый 31.10.2012, 16:23   #7
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
Добавить скрытые поля и данные туда сюда гонять?
идея неплоха, как казалось бы, и конечно 50 раз мной обдумывалась. Но смысл в ней? Ну добавили скрытое что-нибудь, присвоили значение А.

Перешли на вторую страницу. А теперь самое главное, каким образом вернуться, чтоб был зафикисирован возврат по кнопке "Назад".

Чем нам поможет скрытое поле?
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 31.10.2012, 16:39   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Тем что в них останутся данные?
eval вне форума Ответить с цитированием
Старый 31.10.2012, 21:58   #9
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
Тем что в них останутся данные?

Это я понял. Как эти данные помогут? Можете ли Вы представить какой-нибудь понятный алгоритм, или просто пошаговую схему, чтобы было понять, что где оставлять?
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про возврат к условию AdmS Общие вопросы C/C++ 4 30.05.2011 20:11
Как зафиксировать? cargo29 Общие вопросы Delphi 5 20.01.2011 17:52
Как зафиксировать куки? mogul82 PHP 2 22.12.2008 22:28
как зафиксировать ячейку в таблице? Deceased PHP 1 08.05.2008 18:08
Как зафиксировать ячейку? gait HTML и CSS 4 22.11.2007 18:14