Die Methoden window.location.href und window.open () in JavaScript


Antworten:


510

window.location.hrefist keine Methode, sondern eine Eigenschaft, die Ihnen den aktuellen URL-Speicherort des Browsers angibt. Durch Ändern des Werts der Eigenschaft wird die Seite umgeleitet.

window.open()ist eine Methode, mit der Sie eine URL übergeben können, die Sie in einem neuen Fenster öffnen möchten. Beispielsweise:

window.location.href Beispiel:

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

window.open () Beispiel:

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


Zusätzliche Information:

window.open()können zusätzliche Parameter übergeben werden. Siehe: window.open Tutorial


5
Der Standard sagt wahrscheinlich, dass dies window.location.hrefeine Eigenschaft ist, keine Methode, aber Internet Explorer (mindestens Version 10) ermöglicht es Ihnen, diese auch hrefals Methode zu behandeln. Ich habe gesehen, dass es nur in IE10 auf einer Seite funktioniert, die ich verwendet habe. Das ist wahrscheinlich der Grund, warum der Fragesteller hrefeine Methode aufgerufen hat . Siehe die Frage IE-Inkompatibilität mit window.location.href . Aber ja, es ist besser, hrefals Eigenschaft zu verwenden, die in jedem Browser, einschließlich IE , funktioniert .
Rory O'Kane

5
@ RoryO'Kane, diese Frage wurde im Jahr 2011 gestellt. Ich bezweifle, dass der Benutzer sich auf IE 10 bezog.
James Hill

9
Wahr. Aber ich denke, es ist wahrscheinlich, wenn auch nicht sicher, dass ältere Versionen des IE window.location.hrefgenauso behandelt werden. Schließlich werden neuere Versionen von iE im Allgemeinen mehr auf Standards basieren, nicht weniger. Wenn IE10 immer noch gegen den Standard verstößt, haben dies wahrscheinlich auch ältere Versionen getan.
Rory O'Kane

32
  • window.open öffnet einen neuen Browser mit der angegebenen URL.

  • window.location.href öffnet die URL in dem Fenster, in dem der Code aufgerufen wird.

Beachten Sie auch, dass dies window.open()eine Funktion für das Fensterobjekt selbst ist, während window.locationes sich um ein Objekt handelt, das eine Vielzahl anderer Methoden und Eigenschaften verfügbar macht .


14

window.open ist eine Methode; Sie können ein neues Fenster öffnen und anpassen. window.location.href ist nur eine Eigenschaft des aktuellen Fensters.


12

Es gibt bereits Antworten , die etwa beschreibt window.location.href Eigenschaft und window.open () Methode.

Ich werde nach objektivem Gebrauch gehen:

1. Um die Seite auf eine andere umzuleiten

Verwenden Sie window.location.href. Setzen Sie die Eigenschaft href auf die href einer anderen Seite.

2. Öffnen Sie den Link im neuen oder spezifischen Fenster.

Verwenden Sie window.open (). Übergeben Sie die Parameter gemäß Ihrem Ziel.

3. Kennen Sie die aktuelle Adresse der Seite

Verwenden Sie window.location.href. Ruft den Wert der Eigenschaft window.location.href ab. Sie können auch ein bestimmtes Protokoll, einen Hostnamen und einen Hashstring aus dem window.location-Objekt abrufen.

Weitere Informationen finden Sie unter Standortobjekt .


9

window.open ()öffnet ein neues Fenster, während window.location.hrefdie neue URL in Ihrem aktuellen Fenster geöffnet wird.


window.open () kann auch die 'url' im selben Fenster öffnen, wenn '_self' als zusätzlicher Parameter übergeben wird.
user761100

1

Die window.openURL wird im neuen Browser-Tab geöffnet

Die window.location.hrefURL wird im aktuellen Tab geöffnet (stattdessen können Sie verwenden location)

Hier ist ein Beispiel für eine Geige (in SO-Snippets window.open funktioniert nicht)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.