Autor | Zpráva | ||
---|---|---|---|
meca Profil |
#1 · Zasláno: 8. 3. 2005, 16:05:09
function fileLinks() {
var fileLink; if (document.getElementsByTagName('a')) { for (var i = 0; (fileLink = document.getElementsByTagName('a')[ i ]); i++) { if (fileLink.href.indexOf('http://') != -1) { fileLink.className = 'ven'; } } } } ... snažil jsem se upravit tenhle skript, aby každýmu odkazu ven dal class ven, jenže tenhle skript dá ten class ven všem odkazům... A když jsem skusil náký ty regulérní výrazy či co... tak to zase neoznačilo žádnej... if (fileLink.href.indexOf('^http:\/\/[[:alnum:]]$') != -1) { ... nevíte někdo ak na to? :-) dik ;) |
||
centi Profil |
#2 · Zasláno: 8. 3. 2005, 16:32:37
mne ta prva funkcia funguje tak ako ma, prida class="ven" len linkam zacinajucim na http://
|
||
Fred Profil |
#3 · Zasláno: 8. 3. 2005, 16:36:05
Testováno, nějak takhle
<style> .ven{color:green;} </style> <script type="text/javascript"> <!-- var d=document; function fileLinks(){ var body=d.getElementById('nejakeid'); var a=body.getElementsByTagName('a'); for(var i=0;i<a.length;i++){ if (a[i].getAttribute("href").indexOf("http://")!=-1){ a[i].className='ven'; }}} function addEvent(obj,evType,fn){//thanx to http://www.scottandrew.com/weblog/articles/cbs-events if(obj.addEventListener){ obj.addEventListener(evType,fn,true); return true; }else if(obj.attachEvent){ var r = obj.attachEvent("on"+evType,fn); return r; }else{ return false; }} addEvent(window,'load',fileLinks); //--> </script> </head> <body id="nejakeid"> <a href="index.htm">místní</a> <a href="http://www.index.cz">cizí</a> |
||
meca Profil |
#4 · Zasláno: 8. 3. 2005, 17:27:44
centi > No mě to na localhostu fungovalo, ale pak nááko ne-e...
Fred > joo.. dix moc ... ale je tu jeden háček... tady to funguje, ale pak, když to úplně stejný dám na jinou stránku, tak to nefunguje... :-/ |
||
centi Profil |
#5 · Zasláno: 8. 3. 2005, 17:32:09
meca
Podla mna bude zadrhel asi tu: var body=d.getElementById('nejakeid'); co tym zapisom chces docielit? |
||
meca Profil |
#6 · Zasláno: 8. 3. 2005, 17:38:12
Ajoooo.. já sem vůůůl ;) ... dix moc ;) ...
No jako jak co chci docílit? :-) ... to co sem řikal na začátku ;) |
||
Fred Profil |
#7 · Zasláno: 8. 3. 2005, 17:40:50
Máš tam <div id="all" id="body"> to bude potíž, prohlížeč i js berou id="all" tak si to přepiš v tom scriptu na all
|
||
meca Profil |
#8 · Zasláno: 8. 3. 2005, 17:49:52
Fred > To byl překlep ;) .. už by to mělo jít... jenom zase neim jak to mam spustit. Když to mam v externim tom? ... :-/
|
||
Fred Profil |
#9 · Zasláno: 8. 3. 2005, 17:57:35
Jenom to dej do externího scriptu, bude to fungovat, tedy pokud tam bude to idecko ;-)
|
||
meca Profil |
#10 · Zasláno: 8. 3. 2005, 18:01:03
:-D ... kua... já sem ale *** ;-) ... sem tam nahrál nákou starou verzi ;) ... tak teda diks moc ;)
|
||
Fred Profil |
#11 · Zasláno: 9. 3. 2005, 22:21:55
Jak jsem se dozvěděl, tak to nefungovalo v Opeře, protože si dopisuje http:// atd do adresy sama, takže adresa je v opeře vždycky indexof('http://') a proto je tu opět díky opeře pár řádků navíc. Třetí srážka s operou za den to je na mě trochu moc.
var opera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false var d=document; function fileLinks(){ var body=d.getElementById('nejakeid'); var a=body.getElementsByTagName('a'); for(var i=0;i<a.length;i++){ if (a[i].getAttribute("href").indexOf("http://")!=-1&&!opera){ a[i].className='ven'; } else if(opera&&a[i].getAttribute("href").indexOf("http://xy.wz.cz")!=0){ //tady si dopiš svojí doménu a[i].className='ven'; } }} function addEvent(obj,evType,fn){//thanx to http://www.scottandrew.com/weblog/articles/cbs-events if(obj.addEventListener){ obj.addEventListener(evType,fn,true); return true; }else if(obj.attachEvent){ var r = obj.attachEvent("on"+evType,fn); return r; }else{ return false; }} addEvent(window,'load',fileLinks); |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0