150 votes

Javascript - Ouvrir une URL donnée dans un nouvel onglet en cliquant sur un bouton

J'aimerais avoir un bouton qui redirige vers une URL donnée et s'ouvre dans un nouvel onglet. Comment cela peut-il être fait?

200voto

Luke Alderton Points 529

Utilisez ceci:

 <input type="button" value="button name" onclick="window.open('http://www.website.com/page')" />

A fonctionné pour moi et cela ouvrira une nouvelle fenêtre « popup » plutôt qu'un nouveau navigateur ou onglet complet. Vous pouvez également lui ajouter des variables pour l'empêcher d'afficher des caractéristiques de navigateur spécifiques comme suit :

 onclick="window.open(this.href,'popUpWindow','height=400,width=600,left=10,top=10,,scrollbars=yes,menubar=no'); return false;"

112voto

user210791 Points 26

En javascript tu peux faire :

 window.open(url, "_blank");

44voto

Tim Büthe Points 21527

L'ajout de target="_blank" devrait le faire :

 <a id="myLink" href="www.google.com" target="_blank">google</a>

26voto

Tony Points 66

Vous pouvez oublier d'utiliser JavaScript car le navigateur contrôle s'il s'ouvre ou non dans un nouvel onglet. Votre meilleure option est de faire quelque chose comme ce qui suit à la place :

 <form action="http://www.yoursite.com/dosomething" method="get" target="_blank">
    <input name="dynamicParam1" type="text"/>
    <input name="dynamicParam2" type="text" />
    <input type="submit" value="submit" />
</form>

Cela s'ouvrira toujours dans un nouvel onglet quel que soit le navigateur utilisé par un client en raison de l'attribut target="_blank"

Si tout ce dont vous avez besoin est de rediriger sans paramètres dynamiques, vous pouvez utiliser un lien avec l' target="_blank" comme le suggère Tim Büthe.

16voto

SpyderScript Points 607

Ma méthode préférée a l'avantage de ne pas inclure de JavaScript dans votre balisage :

CSS

 a {
  color: inherit;
  text-decoration: none;
}

HTML

 <a href="http://example.com" target="_blank"><input type="button" value="Link-button"></a>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X