metody window.location.href i window.open () w JavaScript

Odpowiedzi:

510

window.location.hrefto nie sposób, jest to właściwość, która powie Ci aktualną pozycję URL w przeglądarce. Zmiana wartości właściwości spowoduje przekierowanie strony.

window.open()to metoda umożliwiająca przekazanie adresu URL, który chcesz otworzyć w nowym oknie. Na przykład:

przykład window.location.href:

window.location.href = 'http://www.google.com'; //Will take you to Google.

przykład window.open ():

window.open('http://www.google.com'); //This will open Google in a new window.


Dodatkowe informacje:

window.open()można przekazać dodatkowe parametry. Zobacz: samouczek window.open

James Hill
źródło
5
Standard prawdopodobnie mówi, że window.location.hrefjest to właściwość, a nie metoda, ale Internet Explorer (przynajmniej wersja 10) pozwala traktować ją również hrefjako metodę. Widziałem, jak działa, tylko w IE10, na jednej stronie, z której korzystałem. Prawdopodobnie dlatego pytający wywołał hrefmetodę. Zobacz pytanie IE niekompatybilność z window.location.href . Ale tak, lepiej użyć go hrefjako właściwości, która będzie działać w dowolnej przeglądarce, w tym IE .
Rory O'Kane
5
@ RoryO'Kane, to pytanie zostało zadane w 2011 roku. Wątpię, czy użytkownik odnosił się do IE 10.
James Hill
9
Prawdziwe. Ale myślę, że jest prawdopodobne, choć nie pewne, że starsze wersje IE traktowały window.location.hrefto samo. Po tym wszystkim, nowsze wersje IE są generalnie coraz bardziej oparte na standardach, a nie mniej. Więc jeśli IE10 nadal łamie standard, prawdopodobnie starsze wersje również tak zrobiły.
Rory O'Kane
32
  • window.open otworzy nową przeglądarkę z określonym adresem URL.

  • window.location.href otworzy adres URL w oknie, w którym wywoływany jest kod.

Zauważ też, że window.open()jest to funkcja na samym obiekcie okna, podczas gdy window.locationjest to obiekt, który ujawnia wiele innych metod i właściwości .

Tomek
źródło
14

window.open jest metodą; możesz otworzyć nowe okno i dostosować je. window.location.href jest tylko właściwością bieżącego okna.

ngi
źródło
12

Istnieją już odpowiedzi opisujące właściwość window.location.href i metodę window.open () .

Przejdę przez użycie celu:

1. Aby przekierować stronę na inną

Użyj window.location.href. Ustaw właściwość href na wartość href innej strony.

2. Otwórz link w nowym lub określonym oknie.

Użyj window.open (). Przekaż parametry zgodnie z celem.

3. Poznaj aktualny adres strony

Użyj window.location.href. Uzyskaj wartość właściwości window.location.href. Możesz również uzyskać określony protokół, nazwę hosta, wartość skrótu z obiektu window.location.

Aby uzyskać więcej informacji, zobacz Obiekt lokalizacji .

Somnath Muluk
źródło
9

window.open ()otworzy nowe okno, podczas gdy window.location.hrefotworzy nowy adres URL w bieżącym oknie.

Joseph Silber
źródło
window.open () może również otworzyć „url” w tym samym oknie, jeśli „_self” zostanie przekazany jako dodatkowy parametr.
user761100,
1

window.openOtworzy url w nowej przeglądarce Tab

window.location.hrefOtworzy URL w bieżącej karcie (zamiast można użyć location)

Oto przykładowe skrzypce (w oknie fragmentów SO. Open nie działa)

Kamil Kiełczewski
źródło