Redirection lien dans le même onglet
Résolu
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 !
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
-
ModérateurBonjour,
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.
-
Oui je peux ajouter du javascript.
Et quelle serait la procédure ?-
-
@jordane45D'accord, je vais essayer de voir si je trouve comment on fait.
Merci pour le renseignement. -
Modérateur@jkbee26Par exemple, si tu mets une class "taclass" à tes liens
var linkList = document.querySelectorAll('.taclass'); for(var i in linkList){ linkList[i].setAttribute('target', '_top'); } -
@jordane45Le 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 ? -
Modérateur@jkbee26oui.
En utilisant un "selector" identique à ceux qu'on peut utiliser en css
Un truc du genrevar linkList = document.querySelectorAll('a[data-link-title="Actu"]');
-