2015-02-17 3 views
0

Я нашел 5 различных способов изменить текущее местоположение на веб-странице. Какая из них лучше и способ, все они нужны?Лучший способ изменить адрес URL

Это в основном то, что я нашел:

window.location.assign("www.example.com") 

делает то же самое, как

window.replace("www.example.com") 

Разница заключается в том, что вместо() удаляет URL текущего документа из истории документа, а это означает, что невозможно использовать кнопку «назад», чтобы вернуться к исходному документу.

Но в чем разница между этими двумя и изменяя местоположение,

window.location = "www.example.com" ? 

Что о

<a href> ? 

И

history.pushState? 

EDIT

Некоторые из вас отметили это как дублирующиеся из-за Javascript: Setting location.href versus location и What's the difference between window.location= and window.location.replace()?, но это не так. Мой вопрос намного шире этого.

Это везде «как изменить местоположение», но я не нашел полного сравнения этих методов.

ответ

2

window.location добавляет в вашу историю элемент, в котором вы можете (или должны быть в состоянии) нажать «Назад» и вернуться к текущей странице.

assign(url): Загрузите документ по указанному URL.

replace(url): Заменить текущий документ на тот, который указан по указанному URL-адресу. Отличие от метода assign() заключается в том, что после использования replace() текущая страница не будет сохранена в истории сеансов, то есть пользователь не сможет использовать кнопку «Назад», чтобы перейти к ней.

+0

Спасибо, а как насчет history.pushState? Какой я должен использовать, если мне все равно, смогут ли они вернуться назад или нет? – Ssr1368

+0

Используйте 'window.location'. Зачем беспокоить пользователя. – void

Смежные вопросы