Redirection lien dans le même onglet

Résolu/Fermé
jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024 - 10 mai 2021 à 10:52
jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024 - 18 mai 2021 à 17:11
Bonjour tout le monde,

Par défaut avec mon cms, pour certains modules (boutons ...), les liens externes sont obligatoirement ouvert dans un second onglet.

J'ai juste à indiquer le lien dans le module mais je ne peux rien ajouter d'autres à ce moment là (je ne peux pas ajouter de target="top" à mon lien).

Je ne peux pas changer le fonctionnement du module.

Par contre je peux appliquer du code "supplémentaire" (html/css ...) appliqué à tout le site qui pourra s'appliquer au module repéré par son Id ou class.

Comment pourrais-je faire en sorte de le forcer à ouvrir certains liens externes dans le même onglet avec du code ?

Merci !

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 mai 2021 à 11:41
Bonjour,


En css tu ne peux pas modifier le comportement des liens.
Peux tu ajouter du code javascript ?
Si oui, en JS, tu pourrais modifier l'attribut target.



0
jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024
Modifié le 10 mai 2021 à 13:17
Oui je peux ajouter du javascript.

Et quelle serait la procédure ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 mai 2021 à 13:22
Faire un script javascript qui cible l'élément via un ID ou une classe CSS et qui ajoute ou modifie l'attribut target de celui-ci.
0
jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
10 mai 2021 à 22:29
D'accord, je vais essayer de voir si je trouve comment on fait.

Merci pour le renseignement.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024
Modifié le 10 mai 2021 à 22:38
Par exemple, si tu mets une class "taclass" à tes liens
var linkList = document.querySelectorAll('.taclass');

for(var i in linkList){
 linkList[i].setAttribute('target', '_top');
}
0
jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
13 mai 2021 à 01:10
Le code de l'élement est de ce type :

       <li id="idlien" class="classlien">
                  <a href="https://monsite.fr/" data-link-title="Actu" target="_blank" rel="nofollow">Actu</a></li>



J'ai tenté de mettre ce code à l'emplacement ou je peux entrer du code pour tout le site :

<script type="text/javascript">
//<![CDATA[
var linkList = document.querySelectorAll('.classlien');

for(var i in linkList){
linkList[i].setAttribute('target', '_top');
}
//]]>
</script>


Mais cela n'a eu aucun effet. Je pense que le problème vient du fait que la class cible tout l'élément. Est-il possible de cibler seulement le lien par son data-link-title ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jkbee26 Messages postés 38 Date d'inscription vendredi 31 janvier 2020 Statut Membre Dernière intervention 16 février 2024
13 mai 2021 à 01:15
oui.
En utilisant un "selector" identique à ceux qu'on peut utiliser en css

Un truc du genre
var linkList = document.querySelectorAll('a[data-link-title="Actu"]');
0