2016-07-28 2 views
2

У меня есть этот URL-адрес, когда пользователь вводит пароль с временным паролем.Удалить параметр url без перезагрузки страницы

user.html?change=yes#passwordwrap 

Таким образом, пользователь может сразу же сменить пароль. После сохранения нового пароля он должен удалить существующий параметр в URL-адресе. Должно быть:

user.html 

Есть ли способ сделать это? Без использования истории, потому что страница загружается в первый раз и нет списка истории. Простой подход?

+0

Я не понимаю, почему мы не можем использовать историю –

+0

@TrevorClarke, потому что страница загружается в первый раз и не имеет списка истории. –

ответ

0

Попробуйте это ... если вы столкнулись с проблемой с F/W & Кнопка B/W затем используйте replaceState, а не pushState.

window.history.pushState("object or string", "Title", "/"+window.location.href.substring(window.location.href.lastIndexOf('/') + 1).split("?")[0]); 

Эта страница URL изменится с:

http://stackoverflow.com/questions/22753052/remove-url-parameters-without-refreshing-page/22753103#22753103 

Для

http://stackoverflow.com/22753103#22753103 
0

Это для изменения URL

window.history.pushState({ "html": "<h2>Hai</h2>", "pageTitle": "BuyOnline" }, "", '/buyonline/productview?param1=1&param2=2'); 

Когда кнопка назад нажата в браузере - это событие запущено

window.addEventListener('popstate', function (event) { 
    window.location.reload(); -- you can put your code here 
}); 
0

Вы можете использовать этот

var url= document.location.href; 
window.history.pushState({}, "", url.split("?")[0]);