一段时间后删除URL变量

时间:2012-01-08 09:21:06

标签: javascript jquery url

我有一个标识为emailsuccess的div。用户填写联系表单并提交,然后将其重定向到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 个答案:

答案 0 :(得分:2)

除非您将自己局限于支持History API的浏览器,否则您必须将浏览器重定向到不包含该部分URL的URL(将导致页面重新加载)。

Symfony Framework for PHP使用模板中的flash变量解决了这个问题(与Flash无关) - 下一个请求中可用的变量,但在下一个请求中被删除。这样,您就不必通过URL传递该状态,刷新相同的URL也不会重新显示该消息。