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


Відповіді:


510

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 .
Rory O'Kane

5
@ RoryO'Kane, це питання було задано у 2011 році. Сумніваюсь, користувач мав на увазі IE 10.
James Hill

9
Правда. Але я думаю, що ймовірно, хоча і не певно, що старіші версії IE трактували window.location.hrefтак само. Зрештою, новіші версії iE, як правило, отримують більше стандартів, не менше. Тож якщо IE10 все ще порушує стандарт, то, ймовірно, це робили і старіші версії.
Rory O'Kane

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.

Див Розташування об'єкта для отримання додаткової інформації.


9

window.open ()відкриє нове вікно, тоді як window.location.hrefвідкриє нову URL-адресу у вашому поточному вікні.


window.open () також може відкрити "URL" у тому ж вікні, якщо "_self" передано як додатковий параметр.
користувач761100

1

window.openВідкриється URL в новому браузері Tab

window.location.hrefВідкриється адреса в поточній вкладці (замість цього ви можете використовувати location)

Ось приклад скрипки (у фрагментах SO window.open не працює)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.