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

James Hill
quelle
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 .

Tom
quelle
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.

ngi
quelle
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 .

Somnath Muluk
quelle
9

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

Joseph Silber
quelle
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)

Kamil Kiełczewski
quelle