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:- JS kód:
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';
}
}
}
}
- CSS screen styl:
a.external{
padding-right:12px;
background: top right url(images/external.gif) no-repeat;
}
- CSS print styl:
/* pouze pro Gecko-based = nejde v IE */
a.external:after{
content: " (" attr(href) ") ";
}
Home
Červen 11th, 2006 at 15.47
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)
Červen 12th, 2006 at 10.18
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í.
Červen 12th, 2006 at 10.37
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…
Červen 12th, 2006 at 10.43
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é.