Какой предпочтительный метод использовать для изменения местоположения текущей веб-страницы с помощью JavaScript? Я видел как windows.navigate, так и document.location. Есть ли различия в поведении? Существуют ли различия в реализации браузеров?
Должен ли я использовать window.navigate или document.location в JavaScript?
Ответ 1
window.location.href = 'URL';
- стандартная реализация для изменения текущего местоположения окна.
Ответ 2
document.location - это свойство (устаревшее, но все еще существующее) свойство только для чтения, замененное document.url.
Ответ 3
window.location
повлияет на вашу цель.
document.location повлияет только на ваш браузер и frame/iframe.
Ответ 4
window.location
также влияет на кадр,
лучшая найденная мной форма:
parent.window.location.href
И что еще хуже:
parent.document.URL
Я сделал массивный тест браузера, а некоторые редкие IE с несколькими плагинами получили undefined со второй формой.
Ответ 5
window.navigate
НЕ поддерживается в некоторых браузерах, поэтому этого следует избегать. Любой из других методов, использующих свойство location, является самым надежным и последовательным подходом
Ответ 6
Я бы пошел с window.location = "http://...";
. Я уже несколько лет кодирую кросс-браузер JavaScript, и у меня никогда не возникало проблем с использованием этого подхода.
window.navigate
и window.location.href
кажется немного странным для меня.
Ответ 7
В действительности нет никакой разницы; существует около 5 различных способов этого. Тем не менее, те, что я вижу чаще всего, это document.location
и window.location
, потому что они поддерживаются всеми основными браузерами. (Я лично никогда не видел window.navigate
, который используется в производственном коде, поэтому, возможно, у него нет хорошей поддержки?)
Ответ 8
поддержка document.location
также хороша, хотя ее устаревший метод.
Я использую этот метод некоторое время без проблем.
вы можете обратиться сюда для получения более подробной информации:
https://developer.mozilla.org/en-US/docs/Web/API/document.location
Ответ 9
Вы можете перемещать страницу, используя
window.location.href =Url;