Ajouter about blank sur tous les liens

gwenm Messages postés 640 Statut Membre -  
gwenm Messages postés 640 Statut Membre -
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".



--
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.

8 réponses

  1. fredconv Messages postés 143 Statut Membre 38
     
    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
  2. gwenm Messages postés 640 Statut Membre 30
     
    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
  3. fredconv Messages postés 143 Statut Membre 38
     
    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
  4. gwenm Messages postés 640 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fredconv Messages postés 143 Statut Membre 38
     
    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
  7. gwenm Messages postés 640 Statut Membre 30
     
    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
    1. fredconv Messages postés 143 Statut Membre 38
       
      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
  8. gwenm Messages postés 640 Statut Membre 30
     
    bé nan, toujours pas ..
    0
    1. fredconv Messages postés 143 Statut Membre 38
       
      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
  9. gwenm Messages postés 640 Statut Membre 30
     
    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