Удалить URL-переменную через некоторое время - PullRequest
1 голос
/ 08 января 2012

У меня есть div, идентифицированный как emailsuccess.Пользователь заполняет контактную форму и отправляет ее по адресу http://www.mysiteurl.com? Email = success .У меня есть div, который будет отображаться только в том случае, если URL содержит email = success. (По сути, он просто отображает сообщение «Ваша электронная почта была отправлена».) Я хотел бы, чтобы сообщение отображалось в течение примерно 5 секунд, затем исчезло и удалило переменную email = success изURL, поэтому, если пользователь перезагрузит страницу или поделится ею с другом, он не будет получать уведомления о том, что электронное письмо было отправлено.

Возможно, используя функцию .delay(), я установил целое число в 5000, ноЯ не знаю, как заставить контент исчезать и удалять переменную из URL.

Вот мой код до сих пор:

$(document).ready(function(){
var url = document.location.href;

if (url.indexOf('/Contact-us-a/7.htm?email=success') >= 0) {
$('#emailsuccess').show();
} else {
$('#emailsuccess').hide();
};
});

1 Ответ

2 голосов
/ 08 января 2012

Если вы не ограничиваете себя браузерами, поддерживающими History API, вам придется перенаправить браузер на URL, который не содержит эту часть URL (приведет к перезагрузке страницы).

Symfony Framework для PHP решает эту проблему с помощью флэш-переменных в шаблонах (не имеет ничего общего с Flash) - переменных, которые доступны при следующем запросе, но удаляются при следующем. Таким образом, вам не нужно будет передавать это состояние через URL-адрес, а обновление этого же URL-адреса не будет отображать это сообщение повторно.

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