Ajouter about blank sur tous les liens

Fermé
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 - 14 août 2012 à 13:43
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 - 15 août 2012 à 17:18
Bonjour,

Peut on mettre en place un seul script à ajouter dans un htaccess ou robots.txt ou autre qui fait que tous les liens s' ouvrent dans un nouvelle onglet et avec aussi l' attribut rel="nofollow".


A voir également:

8 réponses

fredconv Messages postés 125 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 décembre 2017 38
Modifié par fredconv le 14/08/2012 à 14:32
Bonjour


Pour cela tu peux utiliser du jquery (mais ce n est qu un solution parmi d autres:)
tu charges la librairie jquery (je te laisse le soin d aller voir cela

<script> 
$(document).ready(function() { 
//on attends que toute la page soit chargée et tu appelles la fonction  
   extLink(); 
 }); 


//ici tu definis ta fonction. 
function extLink() { 
//tu selectionne tous les liens qui ont un chemin absolu commencant par http 
    $('a[href^=http]').attr('rel','nofollow').click( function() { 
// tu ouvre les liens dans une nouvelle fenetre 
        window.open(this.href); 
//tu empeche la fenetre courante d'ouvrir le lien  
        return false;  
    }); 
});

</script>

\(^^\) (^_^) (/^^)/
0
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 30
14 août 2012 à 15:11
Merci fredconv, je n'est pas de librairie jquery, est ce que si je copie ce code dans un nouveau fichier c'est bon?
0
fredconv Messages postés 125 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 décembre 2017 38
14 août 2012 à 15:22
dans ton fichier index.html a la fin(préférable pour que le contenu de tes pages se charge avant de cahrger jquery , pour ne pas a avoir a télécharger toi même la bibliothèque jquery tu peux la charger depuis internet. grace a ce code.

tu rajoutes
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="custom.js"></script>


puis dans ton fichier "custom.js", tu ajoute le code

$(document).ready(function() {  
//on attends que toute la page soit chargée et tu appelles la fonction   
   extLink();  
 });  


//ici tu definis ta fonction.  
function extLink() {  
//tu selectionne tous les liens qui ont un chemin absolu commencant par http  
    $('a[href^=http]').attr('rel','nofollow').click( function() {  
// tu ouvre les liens dans une nouvelle fenetre  
        window.open(this.href);  
//tu empeche la fenetre courante d'ouvrir le lien   
        return false;   
    });  
});
0
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 30
Modifié par gwenm le 14/08/2012 à 15:30
En gros je copie à la fin de mon index.html:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>  
<script type="text/javascript" src="custom.js"></script>  

<script>   
$(document).ready(function() {   
//on attends que toute la page soit chargée et tu appelles la fonction    
   extLink();   
 });   


//ici tu definis ta fonction.   
function extLink() {   
//tu selectionne tous les liens qui ont un chemin absolu commencant par http   
    $('a[href^=http]').attr('rel','nofollow').click( function() {   
// tu ouvre les liens dans une nouvelle fenetre   
        window.open(this.href);   
//tu empeche la fenetre courante d'ouvrir le lien    
        return false;    
    });   
});  


</script> 


Et je me crée, car j' en est pas, un fichier "custom.js" avec ce code dedans:

$(document).ready(function() {    
//on attends que toute la page soit chargée et tu appelles la fonction     
   extLink();    
 });    


//ici tu definis ta fonction.    
function extLink() {    
//tu selectionne tous les liens qui ont un chemin absolu commencant par http    
    $('a[href^=http]').attr('rel','nofollow').click( function() {    
// tu ouvre les liens dans une nouvelle fenetre    
        window.open(this.href);    
//tu empeche la fenetre courante d'ouvrir le lien     
        return false;     
    });    
});


J' ai bien tout compris?
La vie n'est pas telle qu'elle devrait etre. Elle est comme elle est.
> > C'est la facon dont nous la vivons qui fait la difference.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fredconv Messages postés 125 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 décembre 2017 38
14 août 2012 à 15:37
heu

tu as un fichier html qui doit ressembler ca cela:

<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="mystyle.css" />
....
<title>ton titre</title>
</head>
<body><div>
le contenu de ton site ...
...
...
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="custom.js"></script>
</body>
</html> 


et dans le repertoire ou tu auras ton fichier index.html tu ajoutera un fichier custom.js (ou si tu le mets ailleurs il faut que tu ajuste ton chemin vers ce fichier.)
qui contiendra le code

$(document).ready(function() {  
//on attends que toute la page soit chargée et tu appelles la fonction   
   extLink();  
 });  


//ici tu definis ta fonction.  
function extLink() {  
//tu selectionne tous les liens qui ont un chemin absolu commencant par http  
    $('a[href^=http]').attr('rel','nofollow').click( function() {  
// tu ouvre les liens dans une nouvelle fenetre  
        window.open(this.href);  
//tu empeche la fenetre courante d'ouvrir le lien   
        return false;   
    });  
});

0
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 30
14 août 2012 à 15:59
j' ai donc copier dans mon index avant </body>:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="custom.js"></script>

Puis j' ai créer mon "custom.js que j' ai mis dans mon /www puis que c'est là que mon site est..mais ca marche po ..
0
fredconv Messages postés 125 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 décembre 2017 38
14 août 2012 à 16:27
argh j ai fait une erreur de syntaxe désolé :D

a la derniere ligne de code du fichier custom.js
remplace
});
par
}

et ca devrait fonctionner
0
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 30
14 août 2012 à 16:34
bé nan, toujours pas ..
0
fredconv Messages postés 125 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 décembre 2017 38
14 août 2012 à 17:50
pourtant ici je teste et ca fonctionne .... T_T

dans le meme repertoire j ai:
index.html avec pour code:
<html>
<head>
<meta charset="utf-8" />

<title>ton titre</title>
</head>
<body><div>
<a href="#">Test 1</a>
<a href="http://www.visiblemoon.com/">Test2</a>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="custom.js"></script>
</body>
</html> 


custom.js avec pour code:
$(document).ready(function() {  
//on attends que toute la page soit chargée et tu appelles la fonction   
   extLink();  
 });  


//ici tu definis ta fonction.  
function extLink() {  
//tu selectionne tous les liens qui ont un chemin absolu commencant par http  
    $('a[href^=http]').attr('rel','nofollow').click( function() {  
// tu ouvre les liens dans une nouvelle fenetre  
        window.open(this.href);  
//tu empeche la fenetre courante d'ouvrir le lien   
        return false;   
    });  
}


et cela ouvre bien le lien externe dans une nouvelle page.. donc le code fonctionne
si quelqun a une idée, car pour le moment je ne vois pas ce qui pourrait empecher cela de fonctionner ...
0
gwenm Messages postés 594 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 17 mai 2024 30
15 août 2012 à 17:18
Salut, je comprend pas non plus pourquoi ca ne marche pas alors je t'est fait des captures d'écrans dé-fois que tu y verrais une erreur :

Mon fichier custom.php placé dans le même répertoire que index.php:
http://nsa29.casimages.com/img/2012/08/15/120815053017474139.jpg

Le script placé avant </body>:
http://nsa29.casimages.com/img/2012/08/15/120815053147285.jpg
0