JQuery / Javascript обнаруживать и захватывать события обновления страницы? - PullRequest
4 голосов
/ 21 июля 2010

У меня есть страница AJAXed, но я также предлагаю пользователю строку запроса, чтобы он / она мог ввести строку запроса к URL, чтобы снова увидеть ту же страницу. (Подумайте, карты Google и его функция "поделиться ссылкой").

Когда происходит запрос AJAX, я обновляю строку запроса, представленную пользователю, но фактический URL-адрес не изменяется. Проблема в том, что если пользователь обновляет страницу, все элементы DOM, созданные из AJAX, исчезают.

Я хочу, чтобы javascript перехватывал событие обновления и вместо обновления страницы перенаправлял пользователя на страницу плюс строку запроса.

т.е. если строка запроса: ?data=blah&stuff=bleh

тогда вместо обновления страницы обратно до www.example.com, обновление приведет пользователя к www.example.com/?data=blah&stuff=bleh

1 Ответ

1 голос
/ 21 июля 2010

Вы не можете изменить строку запроса ... без того, чтобы браузер фактически не покинул страницу и не загрузил новую (что-то вроде уничтожения точки AJAX).

Вы можете перейти к хешу, например, так: www.example.com/#data=blah&stuff=bleh

В вашем скрипте просто установите window.location.hash, например ::

window.location.hash = "data=blah$stuff=bleh";

Когда ваша страница загружается, вам нужно использовать хеш ... например: использовать его в качестве параметра данных для того же вызова AJAX, который вы делали ранее.

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