0
votes

Comment ouvrir une nouvelle fenêtre lorsque vous cliquez sur la balise <a> en html

Je ne veux pas dire comme ça

<a href="youtube.com">Youtube Link</a> 

Je veux dire que lorsque vous cliquez sur une balise, une nouvelle fenêtre s'ouvre, comme lorsque vous payez avec Paypal sur un autre site.

entrez la description de l'image ici

Donc mon code est

<a href="youtube.com" target="_blank">Youtube Link</a> 


0 commentaires

3 Réponses :


2
votes

cela devrait être fait par javascript.

<a href="#" id="openWindow">Youtube</a>

let link = document.getELementById('openWindow');

link.addEventListener('click', function(event) {
   window.open("https://youtube.com/", "youtube");
});

plus d'infos pour la fenêtre MDN


0 commentaires

2
votes

Peut être fait en utilisant l'attribut onclick :

<a href="#" onclick="window.open('https://youtube.com/', 'yt', 'height=600,width=800')">Link text</a>


0 commentaires

0
votes

Si vous voulez ouvrir dans une toute nouvelle fenêtre (c'est-à-dire un "popup"), aucune des valeurs d'ancrage HTML ( <a /> ) "cible" ne fonctionnera pour cela. Au lieu de cela, vous devrez utiliser javascript, dans ce cas, window.open ( plus d'informations ).

Dans l'exemple ci-dessous, j'utilise une classe et .querySelectorAll() afin que vous puissiez réutiliser la classe sur tous les liens que vous souhaitez avoir cette fonctionnalité. Je garde également les attributs href et target sur l'ancre, donc si javascript est désactivé ou si l'utilisateur clique sur le lien avant que la page ne termine le chargement, il ouvrira au moins le lien dans un nouvel onglet.

Gardez à l'esprit également que le 3ème argument de l'appel window.open() est nécessaire pour faire fonctionner le popup, sinon il s'ouvrira simplement dans un nouvel onglet comme target="_blank" . Aussi, n'hésitez pas à ajuster les options du 3ème argument à votre cas d'utilisation, cependant, pour que le "popup" fonctionne toujours, vous devez vous assurer que menubar=no est utilisé OU laisser cette option entièrement.

<a href="https://youtube.com/" target="_blank" class="js-new-window">Youtube</a>

<script>
    const links = document.querySelectorAll('.js-new-window');
    links.forEach((link) => {
      link.addEventListener('click', function(event) {
        event.preventDefault();
        window.open(event.currentTarget.href, 'new-window', 'height=600,width=800,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=yes,directories=yes,status=yes');
      })
    });
</script>


0 commentaires