您好我已登录用户并将其重定向到http://domain.com/profile/#welcomemessage
或http://domain.com/profile/?msg=showwelcomemessage
所以基本上它显示了基于查询字符串的欢迎消息。当用户重新加载页面时我想删除查询。我基本上只想显示欢迎消息一次。
如果这不可能。我应该使用localstorage
吗?这适用于所有浏览器吗?
答案 0 :(得分:2)
您可能正在寻找
window.history.replaceState
用法:
window.history.replaceState( {} , 'foo', '/foo' );
来自w3.org:
历史。 replaceState(data,title [,url])
更新会话历史记录中的当前条目以获得给定条目 数据,标题,如果提供而非null,则为URL。
或者您可以像这样使用localStorage:
if (!localStorage.getItem("visited")) {
//yourmessage
localStorage.setItem("visited", "true");
}
//clear the localStorage when the tab is closed
window.onbeforeunload = function() {
localStorage.removeItem("visited");
};
答案 1 :(得分:1)
localStorage
听起来像是要走的路。或者如果您更注重服务器会话。 localStorage
在ie8 and above
localStorage
:
if (!localStorage.hideWelcomeMessage) {
document.getElementById('welcome-message').style.display="block";
localStorage.hideWelcomeMessage = true;
}
和html:
<div id="welcome-message" style="display:none;">Welcome!</div>
以上假设id为&#34; welcome-message&#34;但当然你可以改变它。