Mafia II

Označování externích odkazů

Červen 11th, 2006

Pro přístupnost a vlasně i přehlednost odkazů je vhodné mít ty externí odlišené od těch interních. Do chvíle, než IE bude plně podporovat CSS je jedinou šancí JavaScript.

Teorie:

Postupně projdeme všechny tagy A na stránce a zjistíme, které z nich mají atribut href nastaveny na naší doménu. Ty potom označíme příslušným CSS stylem.

Praxe:
function highlightExternalLinks(){
   var links = document.getElementsByTagName('a');
   for (var i=0; i<links.length; i++) {
      var link = links[i];
      var reg = /^http:[\/]{2}tomasfejfar.wz.cz.*$/;
      if ((reg.test(link.href)!=true)&&(link.href!='#')&&(link.href!='')) {
         var obrazky = link.getElementsByTagName('img')
         if(!obrazky[0]){
            link.className = 'external';
         }
      }
   }
}
a.external{
   padding-right:12px;
   background: top right url(images/external.gif) no-repeat;
}
/* pouze pro Gecko-based = nejde v IE */
a.external:after{
   content: " (" attr(href) ") ";
}

4 Responses to “Označování externích odkazů”

  1. ziizii Says:

    Do chvíle, než IE bude plně podporovat CSS je jedinou šancí JavaScript.

    Myšleno tak, že CSS může externí odkazy zvýrazňovat samo? (v normálních prohlížečích)

  2. tomas Says:

    JJ. Přesně tak. Návod na to se dá najít třeba tady: http://www.kryogenix.org/…/30/external

    Ale jak sem říkal, pojede to jen v těch prohlížečích, které podporují CSS tak jak mají.

  3. petr.kratina Says:

    Podle me ho IE nebude poradne podporovat nikdy…M$ uz mi pristupem „k cemu standardy, udelame se to podle sebe, at maj vyvojari co delat“ lezou krkem…

  4. tomas Says:

    Pravda, ze existují lidé, kteří spílají zase W3C za ty standardy. Třeba Chamurappi na http://webylon.info. Ale to je zase druhý extrém, i když musím uznat, že některé jeho argumenty jsou nezdolné.

Vložty komentář