我有一个标识为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();
};
});
答案 0 :(得分:2)
除非您将自己局限于支持History API的浏览器,否则您必须将浏览器重定向到不包含该部分URL的URL(将导致页面重新加载)。
Symfony Framework for PHP使用模板中的flash变量解决了这个问题(与Flash无关) - 下一个请求中可用的变量,但在下一个请求中被删除。这样,您就不必通过URL传递该状态,刷新相同的URL也不会重新显示该消息。