2010-09-06 3 views
2

J'ai lu un livre sur javascript et il est dit que lorsque nous créons une fonction pour ouvrir une nouvelle fenêtre, la référence au nouvel objet fenêtre est stockée dans la variable affectée à l'appel window.open(theURL , newWindow). Il dit aussi que si la même variable est utilisée pour deux URL ou plus, peu importe l'URL sur laquelle je clique, elle sera ouverte dans la même fenêtre. Toutefois, si je crée deux variables pour deux appels window.open(), les deux sites s'ouvriront dans différentes (nouvelles) fenêtres.Pourquoi window.open() charge l'URL dans la même fenêtre?

Par curiosité, j'ai essayé d'utiliser deux variables différentes, mais quand je clique sur les deux liens, ils sont toujours chargés dans la même fenêtre. Comment venir? Je l'ai essayé sur Firefox, IE et Chrome en vain.

+0

Pouvez-vous montrer du code? –

+2

Je pense que vous avez besoin d'un meilleur livre. – Pointy

Répondre

3

Le livre est partiellement correct, mais ce dont vous avez réellement besoin, c'est deux valeurs différentes, pas vraiment deux variables différentes. Si vous avez deux variables avec la même valeur, le résultat est le même que l'utilisation de la même variable. C'est la valeur qui compte, pas la variable que vous utilisez pour fournir la valeur.

Le deuxième paramètre de la méthode open est la cible. Si vous utilisez une valeur comme par exemple 'win42', cela sera utilisé comme nom pour la fenêtre. Si vous appelez de nouveau open avec la même valeur pour target, il s'ouvrira dans la même fenêtre.

Vous pouvez utiliser la valeur spéciale '_blank' comme cible pour toujours ouvrir une nouvelle fenêtre.

Questions connexes