Методы window.location.href и window.open () в JavaScript

Ответы:

511

window.location.hrefэто не метод, это свойство, которое сообщит вам текущее местоположение URL браузера. Изменение значения свойства приведет к перенаправлению страницы.

window.open()это метод, который вы можете передать URL, который вы хотите открыть в новом окне. Например:

Пример window.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.

Дополнительная информация:

window.open()могут быть переданы дополнительные параметры. Смотрите: window.open учебник

Джеймс Хилл
источник
5
Стандарт, вероятно, действительно говорит, что window.location.hrefэто свойство, а не метод, но Internet Explorer (по крайней мере, версия 10) позволяет использовать его hrefкак метод. Я видел, как это работает, только в IE10, на одной странице, которую я использовал. Наверное, поэтому спрашивающий вызывал hrefметод. Смотрите вопрос о несовместимости IE с window.location.href . Но да, лучше использовать hrefкак свойство, которое будет работать в любом браузере, включая IE .
Рори О'Кейн
5
@ RoryO'Kane, этот вопрос был задан в 2011 году. Я сомневаюсь, что пользователь имел в виду IE 10.
Джеймс Хилл,
9
Правда. Но я думаю, что вероятно, хотя и не уверен, что более старые версии IE относились так window.location.hrefже. В конце концов, новые версии iE, как правило, получают больше стандартов, а не меньше. Так что, если IE10 все еще нарушает стандарт, то, вероятно, старые версии тоже.
Рори О'Кейн
32
  • window.open откроет новый браузер с указанным URL.

  • window.location.href откроет URL в окне, в котором вызывается код.

Также обратите внимание, что window.open()это функция самого объекта окна, тогда window.locationкак это объект, который предоставляет множество других методов и свойств .

Том
источник
14

window.open - это метод; Вы можете открыть новое окно и настроить его. window.location.href - это просто свойство текущего окна.

ИСП
источник
12

Уже есть ответы, которые описывают свойство window.location.href и метод window.open () .

Я пойду по объективному использованию:

1. Перенаправить страницу на другую

Используйте window.location.href. Установите для свойства href значение href другой страницы.

2. Откройте ссылку в новом или определенном окне.

Используйте window.open (). Передайте параметры в соответствии с вашей целью.

3. Знать текущий адрес страницы

Используйте window.location.href. Получить значение свойства window.location.href. Вы также можете получить конкретный протокол, имя хоста, хеш-строку из объекта window.location.

См. Location Object для получения дополнительной информации.

Сомнат Мулук
источник
9

window.open ()откроет новое окно, тогда как window.location.hrefоткроет новый URL в вашем текущем окне.

Джозеф Силбер
источник
window.open () также может открывать «url» в том же окне, если «_self» передается в качестве дополнительного параметра.
user761100
1

window.openОткроется URL в новом браузере Tab

window.location.hrefОткроется адрес в текущей вкладке (вместо этого вы можете использовать location)

Вот пример скрипта (в SO фрагментах window.open не работает)

Камил Келчевски
источник