web-dev-qa-db-fra.com

Méthodes Window.location.href et Window.open () en JavaScript

Quelle est la différence entre les méthodes window.location.href et window.open () en JavaScript?

229
masif

window.location.href est pas une méthode, c'est une propriété qui vous indiquera l'emplacement actuel de l'URL du navigateur. Changer la valeur de la propriété redirigera la page.

window.open() est une méthode à laquelle vous pouvez transmettre une URL que vous souhaitez ouvrir dans une nouvelle fenêtre. Par exemple:

Exemple window.location.href:

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

Exemple de window.open ():

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


Information additionnelle:

window.open() peut recevoir des paramètres supplémentaires. Voir: tutoriel window.open

438
James Hill
  • window.open ouvrira un nouveau navigateur avec l'URL spécifiée.

  • window.location.href ouvrira l'URL dans la fenêtre dans laquelle le code est appelé. 

Notez également que window.open() est une fonction de l'objet window lui-même, tandis que window.location est un objet qui expose une variété de autres méthodes et propriétés

29
Tom

window.open est une méthode; vous pouvez ouvrir une nouvelle fenêtre et la personnaliser . window.location.href est simplement une propriété de la fenêtre actuelle. 

13
ngi

Il y a déjà des réponses qui décrivent environ window.location.href property et window.open () method.

Je vais aller par utilisation objective:

1. Pour rediriger la page vers un autre

Utilisez window.location.href. Définissez la propriété href sur le href d'une autre page.

2. Ouvrir le lien dans la nouvelle fenêtre ou dans la fenêtre spécifique.

Utilisez window.open (). Passez les paramètres selon votre objectif.

3. Connaître l'adresse actuelle de la page

Utilisez window.location.href. Récupère la valeur de la propriété window.location.href. Vous pouvez également obtenir un protocole, un nom d’hôte et une chaîne de hachage spécifiques à partir de l’objet window.location. 

Voir Objet Location pour plus d'informations. 

10
Somnath Muluk

window.open () ouvrira une nouvelle fenêtre, alors que window.location.href ouvrira la nouvelle URL dans votre fenêtre actuelle.

8
Joseph Silber

Le window.open ouvrira l'URL dans le nouvel onglet du navigateur.

Le window.location.href ouvrira l'URL dans l'onglet actuel (vous pouvez utiliser plutôt location)

Voici exemple fiddle (in SO snippets window.open ne fonctionne pas)

var url = 'https://example.com';

function go1() { window.open(url) }

function go2() { window.location.href = url }

function go3() { location = url }
<div>Go by:</div>
<button onclick="go1()">window.open</button>
<button onclick="go2()">window.location.href</button>
<button onclick="go3()">location</button>
0