В чем разница между методами window.location.href
и window.open ()
в JavaScript?
Методы window.location.href и window.open() в JavaScript
Ответы (6)
window.location.href
— это не метод, это свойство, которое сообщает вам текущее URL-адрес браузера. Изменение значения свойства приведет к перенаправлению страницы.
window.open()
— это метод, с помощью которого вы можете передать URL-адрес, который хотите открыть в новом окне. Например:
Пример окна.location.href:
window.location.href = 'http://www.google.com'; //Will take you to Google.
пример window.open():
window.open('http://www.google.com'); //This will open Google in a new window.
Additional Information:
window.open()
можно передавать дополнительные параметры. См.: руководство по window.open
window.location.href
является свойством, а не методом, но Internet Explorer (по крайней мере, версия 10) также позволяет вам рассматривать href
как метод. Я видел, как это работает, только в IE10, на одной странице, которую я использовал. Вероятно, поэтому спрашивающий вызывал href
метод. См. вопрос несовместимость IE с window.location.href. Но да, лучше использовать href
как свойство, которое будет работать в любом браузере, включая IE.
- person Rory O'Kane; 30.05.2013
window.location.href
таким же образом. В конце концов, новые версии iE, как правило, больше основаны на стандартах, а не меньше. Так что если IE10 все еще нарушает стандарт, то, вероятно, и старые версии тоже.
- person Rory O'Kane; 31.05.2013
window.open(newUrl, '_self')
и location.href = newUrl`? Оба откроют newUrl
на одной вкладке.
- person Harry; 15.09.2020
window.open
откроет новый браузер с указанным URL-адресом.window.location.href
откроет URL-адрес в окне, в котором вызывается код.
Также обратите внимание, что window.open()
— это функция самого объекта окна, тогда как window.location
— это объект, который предоставляет множество других методов и свойств а>.
Уже есть ответы, описывающие window.location.href и метод window.open().
Я буду использовать Объективное использование:
1. Перенаправить страницу на другую
Используйте window.location.href. Задайте для свойства href значение href другой страницы.
2. Откройте ссылку в новом или отдельном окне.
Используйте окно.открыть(). Передайте параметры в соответствии с вашей целью.
3. Знать текущий адрес страницы
Используйте window.location.href. Получить значение свойства window.location.href. Вы также можете получить конкретный протокол, имя хоста, хэш-строку из объекта window.location.
Дополнительные сведения см. в разделе Объект местоположения.
window.open — это метод; вы можете открыть новое окно и настроить его. window.location.href — это просто свойство текущего окна.
window.open ()
откроет новое окно, а window.location.href
откроет новый URL-адрес в текущем окне.
window.open(newUrl, '_self')
и location.href = newUrl`?
- person Harry; 15.09.2020
window.open
откроет URL-адрес в новой вкладке браузера.
window.location.href
откроет URL-адрес в текущей вкладке (вместо этого вы можете использовать location
)
Вот пример скрипки (в фрагментах SO window.open не работает)
var url = 'https://example.com';
function go1() { window.open(url) }
function go2() { window.location.href = url }
function go3() { location = url }
<div>Go by:</div>
<button onclick="go1()">window.open</button>
<button onclick="go2()">window.location.href</button>
<button onclick="go3()">location</button>