Відповіді:
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 учебник
window.location.hrefце властивість, а не метод, але Internet Explorer (принаймні, версія 10) дозволяє вам ставитися hrefі до методу. Я бачив, як це працює, лише в IE10, на одній сторінці, яку я використав. Ось, мабуть, тому запитувач викликав hrefметод. Дивіться питання про незрівнянність IE з window.location.href . Але так, краще використовувати hrefяк властивість, яка буде працювати в будь-якому браузері, включаючи IE .
window.location.hrefтак само. Зрештою, новіші версії iE, як правило, отримують більше стандартів, не менше. Тож якщо IE10 все ще порушує стандарт, то, ймовірно, це робили і старіші версії.
window.open відкриє новий браузер із вказаною URL-адресою.
window.location.href відкриє URL-адресу у вікні, в якому викликається код.
Зауважте також, що window.open()це функція для самого об'єкта вікна, тоді window.locationяк це об'єкт, який розкриває безліч інших методів та властивостей .
window.open - метод; ви можете відкрити нове вікно та зможете його налаштувати. window.location.href - це лише властивість поточного вікна.
Вже є відповіді, в яких описано властивість window.location.href та метод window.open () .
Я піду за цільовим використанням:
Використовуйте window.location.href. Встановіть властивість href на href іншої сторінки.
Використовуйте window.open (). Передайте параметри відповідно до вашої мети.
Використовуйте window.location.href. Отримайте значення властивості window.location.href. Ви також можете отримати конкретний протокол, ім'я хоста, хешстриг від об’єкта window.location.
Див Розташування об'єкта для отримання додаткової інформації.
window.open ()відкриє нове вікно, тоді як window.location.hrefвідкриє нову URL-адресу у вашому поточному вікні.
window.openВідкриється URL в новому браузері Tab
window.location.hrefВідкриється адреса в поточній вкладці (замість цього ви можете використовувати location)
Ось приклад скрипки (у фрагментах SO window.open не працює)