2016-02-14 3 views
17

Я бы хотел заменить URL-адрес без обновления страницы.Изменить URL-адрес без обновления страницы

мне нужно изменить:

https://example.com/en/step1 

в

https://example.com/en/step2 

Как сделать это?

+0

изменить URL-адрес вашего адреса или на ссылка – Transformer

+5

@Transformer: wow. –

+0

wow ... ok какой он – Transformer

ответ

42

Использование history.pushState так:

history.pushState(null, null, '/en/step2'); 

Update

на основе Manipulating the browser history, передавая пустую строку в качестве второго параметра pushState метода (ака название) должны быть защищены от будущих изменений в метод, так что лучше использовать pushState как:

history.pushState(null, '', '/en/step2'); 

вы можете прочитать больше о том, что в упомянутой статье

+0

Почему бы не использовать history.replaceState()? –

+0

Прочитайте упомянутую статью MDN (_Manipulating history browser_), чтобы узнать, почему. –

2

при использовании функции ...

<p onclick="update_url('/en/step2');">Link</p> 

<script> 
function update_url(url) { 
    history.pushState(null, null, url); 
} 
</script>