用户重新加载页面时删除url中的查询字符串

时间:2015-04-10 18:07:45

标签: javascript jquery

您好我已登录用户并将其重定向到http://domain.com/profile/#welcomemessagehttp://domain.com/profile/?msg=showwelcomemessage

所以基本上它显示了基于查询字符串的欢迎消息。当用户重新加载页面时我想删除查询。我基本上只想显示欢迎消息一次。

如果这不可能。我应该使用localstorage吗?这适用于所有浏览器吗?

2 个答案:

答案 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听起来像是要走的路。或者如果您更注重服务器会话。 localStorageie8 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;但当然你可以改变它。