|
| Javascript getElementById problem i ie Fra : David Nielsen |
Dato : 10-04-08 23:03 |
|
Dette handler om Javascript i internet explorer som ikke virker.
Jeg har denne javascript kode :
var linknavn = "link_scootere";
document.getElementById(linknavn).style.backgroundColor=farve;
og denne HTML kode :
<div id="link_scootere">noget</div>
så vil jeg gerne have at baggrunden skifter på <div> og det
virker også fint nok i firefox og opera men ikke i internet
explorer ... (som så meget andet).
Hvis jeg skriver :
document.getElementById("link_scootere").style.backgroundColor=fa
rve;
Så virker det fint nok men hvorfor kan jeg ikke bruge en variable
i ie...
HTML'en er :
http://mentos.homepage.dk/scooterhjemmeside/scootere.html
javascript'en er :
http://mentos.homepage.dk/scooterhjemmeside/javascript.js
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (11-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 11-04-08 01:18 |
|
David Nielsen wrote:
> Dette handler om Javascript i internet explorer som ikke virker.
>
> Jeg har denne javascript kode :
>
> var linknavn = "link_scootere";
> document.getElementById(linknavn).style.backgroundColor=farve;
Det virker i min IE 6.
--
Med venlig hilsen
Stig Johansen
| |
Birger (11-04-2008)
| Kommentar Fra : Birger |
Dato : 11-04-08 14:00 |
|
"Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
news:47feae57$0$90275$14726298@news.sunsite.dk...
> David Nielsen wrote:
>
>> Dette handler om Javascript i internet explorer som ikke virker.
>>
>> Jeg har denne javascript kode :
>>
>> var linknavn = "link_scootere";
>> document.getElementById(linknavn).style.backgroundColor=farve;
>
> Det virker i min IE 6.
>
Det virker også i mine IE7'ere
Der skal umiddelbart heller ikke være nogen grund til at det ikke skulle.
Du <li id=...> <a href=...>text</a></li>
Måske skulle det være <a> elementet der har id - kommer an på hvordan a er
defineret i css.
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
David Nielsen (11-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 11-04-08 17:25 |
|
> > Det virker i min IE 6.
> Det virker også i mine IE7'ere
> Der skal umiddelbart heller ikke være nogen grund til at det ikke skulle.
Hmmm ja det gør det da også. mærkeligt jeg var sikkert på det ikke virkede.
Det kunne måske være fordi jeg har en counter fra chart.dk og nogen gange er den
langsom og mit javascript skiftefarve trick virker først når ALT det andet er
loadet så måske er det derfor.
Kender i en måde hvor på jeg kan loade min javascript hurtigere fordi den er ret
lagsom.
i : http://mentos.homepage.dk/scooterhjemmeside/javascript.js
har jeg :
window.onload = checkhvilkenside;
hvis i kender en hurtigere metode så vil jeg da gerne lærer den og kende.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger (11-04-2008)
| Kommentar Fra : Birger |
Dato : 11-04-08 18:14 |
|
"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:47ff90ee$0$90276$14726298@news.sunsite.dk...
>> > Det virker i min IE 6.
>
>> Det virker også i mine IE7'ere
>> Der skal umiddelbart heller ikke være nogen grund til at det ikke skulle.
>
> Hmmm ja det gør det da også. mærkeligt jeg var sikkert på det ikke
> virkede.
>
> Det kunne måske være fordi jeg har en counter fra chart.dk og nogen gange
> er den
> langsom og mit javascript skiftefarve trick virker først når ALT det andet
> er
> loadet så måske er det derfor.
>
> Kender i en måde hvor på jeg kan loade min javascript hurtigere fordi den
> er ret
> lagsom.
>
> i : http://mentos.homepage.dk/scooterhjemmeside/javascript.js
>
> har jeg :
>
> window.onload = checkhvilkenside;
>
> hvis i kender en hurtigere metode så vil jeg da gerne lærer den og kende.
>
onload trigges, når alle elementer er loadede.
Eftersom du skal være sikker på at dine links er loadede, kunne man flytte
funktionen til disse elementers onload. (Den vil blive trigget når indholdet
er loadet - evt kunne man måske sætte den på den div, der indeholder dine
links - ikke sikker på at det vil virke, men det ku' måske være et forsøg
værd. Du kan så ikke bruge den direkte - elementet kendes ikke før det er
loadet - men er nødt til at sætte det i tag'et.)
Der er i øvrigt lidt forskel på onload mellem browsere - har været i hvert
fald. Nogle trigger når indholdet er hentet - andre først når det er vist
(kan ses af bruger).
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
David Nielsen (11-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 11-04-08 20:25 |
|
> Eftersom du skal være sikker på at dine links er loadede, kunne man flytte
> funktionen til disse elementers onload. (Den vil blive trigget når indholdet
> er loadet - evt kunne man måske sætte den på den div, der indeholder dine
> links - ikke sikker på at det vil virke, men det ku' måske være et forsøg
> værd. Du kan så ikke bruge den direkte - elementet kendes ikke før det er
> loadet - men er nødt til at sætte det i tag'et.)
Prøvede det men det ser nu til man ku kan bruge onload i body taget. jeg har
prøvet i head og div men de bliver bare ignoreret.
> Der er i øvrigt lidt forskel på onload mellem browsere - har været i hvert
> fald. Nogle trigger når indholdet er hentet - andre først når det er vist
> (kan ses af bruger).
Ja i safari går det rimelig hurtigt men det ville være bedste hvis det bare
blev vist med det samme.
Jeg ville gerne gøre det i css.... tænkte bare det var smartere i javascript
men nu jeg lige tænker mig om så det måske egentligt 1000 gange smartere i css.
Hmm jeg må se om min ide kan laves bedre...
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger (11-04-2008)
| Kommentar Fra : Birger |
Dato : 11-04-08 22:24 |
|
"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:47ffbb02$0$90265$14726298@news.sunsite.dk...
>> Eftersom du skal være sikker på at dine links er loadede, kunne man
>> flytte
>> funktionen til disse elementers onload. (Den vil blive trigget når
>> indholdet
>> er loadet - evt kunne man måske sætte den på den div, der indeholder dine
>> links - ikke sikker på at det vil virke, men det ku' måske være et forsøg
>> værd. Du kan så ikke bruge den direkte - elementet kendes ikke før det er
>> loadet - men er nødt til at sætte det i tag'et.)
>
> Prøvede det men det ser nu til man ku kan bruge onload i body taget. jeg
> har
> prøvet i head og div men de bliver bare ignoreret.
>
>> Der er i øvrigt lidt forskel på onload mellem browsere - har været i
>> hvert
>> fald. Nogle trigger når indholdet er hentet - andre først når det er vist
>> (kan ses af bruger).
>
> Ja i safari går det rimelig hurtigt men det ville være bedste hvis det
> bare
> blev vist med det samme.
> Jeg ville gerne gøre det i css.... tænkte bare det var smartere i
> javascript
> men nu jeg lige tænker mig om så det måske egentligt 1000 gange smartere i
> css.
>
> Hmm jeg må se om min ide kan laves bedre...
>
Kan ikke lige se, hvordan det kan gøres med css..
Det kan gøres serverside, men ikke i HTML.
Du skal jo vide hvilken af dine link, der skal være anderledes, før du kan
sætte den ene eller anden style på elementerne.
Eneste mulighed er den du faktisk anvender - at bruge js til at ændre
visningen for den aktuelle, og onload til at detektere hvilken der skal være
anderledes.
Ændringen kan foretages på flere måder - men onload er vist den eneste du
kan anvende til at aktivere detekteringen.
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
David Nielsen (12-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 12-04-08 19:07 |
|
> Kan ikke lige se, hvordan det kan gøres med css..
> Det kan gøres serverside, men ikke i HTML.
Jeg kunne bare lave en style="background:red;" i hver html fil ud for den <ul>
som passede til html filen det var egentligt en mega simpel løsning det vil
måske bare fucke op i når jeg skal redigere i fremtiden fordi jeg bruger søg og
erstat funktionen meget også ville det ik virke så godt.
Men det fint ok nu jeg har værret mig til det javascript.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger (13-04-2008)
| Kommentar Fra : Birger |
Dato : 13-04-08 00:15 |
|
"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:4800fa41$0$90274$14726298@news.sunsite.dk...
>> Kan ikke lige se, hvordan det kan gøres med css..
>> Det kan gøres serverside, men ikke i HTML.
>
> Jeg kunne bare lave en style="background:red;" i hver html fil ud for den
> <ul>
> som passede til html filen det var egentligt en mega simpel løsning det
> vil
> måske bare fucke op i når jeg skal redigere i fremtiden fordi jeg bruger
> søg og
> erstat funktionen meget også ville det ik virke så godt.
>
> Men det fint ok nu jeg har værret mig til det javascript.
>
Ja det kan du da... ;>)
Jeg er så vant til at menuer og andre ting, der er ens på forskellige sider
bliver included, så man kun skal vedligeholde eet sted...
Men i ren HTML, er det bestemt den næst-bedste løsning.
Den bedste, er en rigtig css definition til de elementer det handler om...
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
Stig Johansen (11-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 11-04-08 22:55 |
|
"David Nielsen" <fedblindkat@yahoo.dk> wrote in message
news:47ff90ee$0$90276$14726298@news.sunsite.dk...
> Det kunne måske være fordi jeg har en counter fra chart.dk
Nu synes jeg ikke lige om countere, ads, og google analytics m.v. fordi..
> virker først når ALT det andet er loadet
men ..
> hvis i kender en hurtigere metode så vil jeg da gerne lærer den og kende.
måske kan du finde inspiration her:
< http://www.websiteoptimization.com/speed/tweak/defer/>
--
Med venlig hilsen/Best regards
Stig Johansen
| |
David Nielsen (12-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 12-04-08 19:57 |
|
> > hvis i kender en hurtigere metode så vil jeg da gerne lærer den og
kende.
> måske kan du finde inspiration her:
> < http://www.websiteoptimization.com/speed/tweak/defer/>
Nu prøvede jeg at læse lidt om defer og fandt en anden dims der hedder async
men det virker kun i HTML 5 og det svært at finde noget info om det.
F.eks står der et sted at man skal skrive defer="defer" og et andet sted
defer="true" og async="false".
Læste at hvis man satte defer="false" asyns="true" så ville scriptet loade
lige så snart det støtte på det men jeg har ikke kunne få det til det.
defer skulle være om javascariptet har tænkt sig at tilføje noget indhold
til siden så hvis man sætter den til false så vil det betyder at man ikke
bruger document.write f.eks.
Har jeg ret ?
Under det har så fandt jeg ud af når jeg ser min hjemmeside altså :
http://mentos.homepage.dk i ie 7 så virker det men når jeg ser den lokalt
fra min egen harddisk direkte så virker javascripten ikke og desuden virker
mit favicon ikke.... jeg ved ik om det fordi ie fucker op når man giver en
relativ adresse. Hvis i kender det problem må i da gerne skrive om det også
tak.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger (13-04-2008)
| Kommentar Fra : Birger |
Dato : 13-04-08 00:19 |
|
"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:4801060f$0$90271$14726298@news.sunsite.dk...
>> > hvis i kender en hurtigere metode så vil jeg da gerne lærer den og
> kende.
>> måske kan du finde inspiration her:
>> < http://www.websiteoptimization.com/speed/tweak/defer/>
>
> Nu prøvede jeg at læse lidt om defer og fandt en anden dims der hedder
> async
> men det virker kun i HTML 5 og det svært at finde noget info om det.
>
> F.eks står der et sted at man skal skrive defer="defer" og et andet sted
> defer="true" og async="false".
>
> Læste at hvis man satte defer="false" asyns="true" så ville scriptet loade
> lige så snart det støtte på det men jeg har ikke kunne få det til det.
>
> defer skulle være om javascariptet har tænkt sig at tilføje noget indhold
> til siden så hvis man sætter den til false så vil det betyder at man ikke
> bruger document.write f.eks.
>
> Har jeg ret ?
>
8X
defer betyder at scriptet ikke tilføjer til indhold, og derfor kan køres med
det samme, når det f.eks. refereres i header.
Du skal så være opmærksom på, at dit script bruger elementer fra siden, og
altså ikke kan køres med det samme. Du vil få scriptfejl.
Du kan prøve at erstatte din windows.onload = ... med et kald direkte til
funktionen..
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
Lasse Reichstein Nie~ (13-04-2008)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 13-04-08 02:37 |
|
"Birger" <sdc@bbsorensen.com> writes:
> defer betyder at scriptet ikke tilføjer til indhold, og derfor kan køres med
> det samme, når det f.eks. refereres i header.
Nej. Det betyder at scriptet ikke tilføjer til indhold, og derfor kan
VENTE med at blive udført til HTML-parseren er kommet længere.
Default er at scripts udføres med det samme de er parset, inde parseren
fortsætter med det der ligger efter scriptet, netop for at scriptet kan
indsætte nyt indhold i parserens input via document.write.
> Du skal så være opmærksom på, at dit script bruger elementer fra siden, og
> altså ikke kan køres med det samme. Du vil få scriptfejl.
... og altså netop SKAL køres med det samme.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Stig Johansen (13-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 13-04-08 09:14 |
|
Lasse Reichstein Nielsen wrote:
> .. og altså netop SKAL køres med det samme.
Det kan være jeg sad småsov.
Jeg så bare den her fra David:
> Det kunne måske være fordi jeg har en counter fra chart.dk
Jeg troede bare det var en probe til det der - noget.
Ved nærmere eftersyn vil jeg nok i stedet kategorisere det som spyware, så
jeg har urlblokket chart.dk + deres 'nope.dk'
Det ser ud til at David enten må lave sin egen statistik eller leve med de
svartider det der counter - noget - giver.
--
Med venlig hilsen
Stig Johansen
| |
David Nielsen (13-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 13-04-08 19:53 |
|
> Ved nærmere eftersyn vil jeg nok i stedet kategorisere det som spyware, så
> jeg har urlblokket chart.dk + deres 'nope.dk'
urlblokket okay.
Jeg gad nemlig godt og kunne gøre sådan at når jeg ser min hjemmeside lokalt
fra min hardisk at den så ignorer chart og nope både så jeg ikke skal vente
og så jeg ik fucker op i statestikken.
Okay fedt nu fik jeg da blokeret chart.dk men når jeg vil blokeret nope.dk
gik det ike så let.
Jeg kan blokere http://counter.nope.dk/counter.php
eller http://counter.nope.dk
men det hjalp ikke
Jeg kan ikke blokeret den fulde url fordi et af tallere er "tilfældigt".
Ved i hvordan jeg blokere nope.dk i opera ?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (14-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 14-04-08 06:32 |
|
David Nielsen wrote:
> Jeg gad nemlig godt og kunne gøre sådan at når jeg ser min hjemmeside
> lokalt fra min hardisk at den så ignorer chart og nope både så jeg ikke
> skal vente og så jeg ik fucker op i statestikken.
Hvorfor piller du det så ikke ud og laver din egen statistik?
Alle dine brugere (hvis de har tålmodighed) vil opleve samme ventetid.
Er det et krav fra webhotellet at du bruger det skrammel?
> Jeg kan ikke blokeret den fulde url fordi et af tallere er "tilfældigt".
> Ved i hvordan jeg blokere nope.dk i opera ?
Jeg blokerer den slags i min ZyXel router fra Fullrate.
Der er fundktionen 'streng indgår i'.
Jeg kan se ud fra din IP adresse, at du bruger Cybercity.
Så vidt jeg har forstået ovre i netværksgrupperne hører der også en router
med til deres ADSL opkoblinger.
--
Med venlig hilsen
Stig Johansen
| |
David Nielsen (14-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 14-04-08 15:32 |
|
> Hvorfor piller du det så ikke ud og laver din egen statistik?
> Alle dine brugere (hvis de har tålmodighed) vil opleve samme ventetid.
> Er det et krav fra webhotellet at du bruger det skrammel?
Det var bare for at have lidt statestik og se om der var nogen der så min
hjemmeside. nej det ik et krav fra nogen ville være have reklame sådan at min
hjemmeside kom med på chart og nope og såden nogen steder.
> Jeg blokerer den slags i min ZyXel router fra Fullrate.
> Der er fundktionen 'streng indgår i'.
> Jeg kan se ud fra din IP adresse, at du bruger Cybercity.
> Så vidt jeg har forstået ovre i netværksgrupperne hører der også en router
> med til deres ADSL opkoblinger.
Ja jeg også sådan en zyxel router og hvis jeg går ind på
http://10.0.0.1:2033/
Så ber den om password det har jeg bare ikke. nu skulle jeg prøve passwordet
til cybercity men det kan jeg ik lige finde men prøver senere. jeg har ikke
prøvet at configurer router før.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (14-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 14-04-08 15:55 |
|
"David Nielsen" <fedblindkat@yahoo.dk> wrote in message
news:48036af5$0$90266$14726298@news.sunsite.dk...
> Ja jeg også sådan en zyxel router og hvis jeg går ind på
>
> http://10.0.0.1:2033/
>
> Så ber den om password det har jeg bare ikke. nu skulle jeg prøve
passwordet
> til cybercity men det kan jeg ik lige finde men prøver senere.
Det er muligvis default password.
På min er default '1234' eller også var det 'admin'.
Hvis det er default, så husk endelig at rettet det til noget andet.
> jeg har ikke prøvet at configurer router før.
Just in case, så har jeg lagt et dump af (noget af) mit konfig skærmbillede
her:
http://w-o-p-r.dk/tips/images/zyxel.config.png
--
Med venlig hilsen/Best regards
Stig Johansen
| |
Birger (13-04-2008)
| Kommentar Fra : Birger |
Dato : 13-04-08 11:30 |
|
"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:prsulelt.fsf@hotpop.com...
> "Birger" <sdc@bbsorensen.com> writes:
>
>> defer betyder at scriptet ikke tilføjer til indhold, og derfor kan køres
>> med
>> det samme, når det f.eks. refereres i header.
>
> Nej. Det betyder at scriptet ikke tilføjer til indhold, og derfor kan
> VENTE med at blive udført til HTML-parseren er kommet længere.
>
> Default er at scripts udføres med det samme de er parset, inde parseren
> fortsætter med det der ligger efter scriptet, netop for at scriptet kan
> indsætte nyt indhold i parserens input via document.write.
>
>> Du skal så være opmærksom på, at dit script bruger elementer fra siden,
>> og
>> altså ikke kan køres med det samme. Du vil få scriptfejl.
>
> .. og altså netop SKAL køres med det samme.
>
Selvfølgelig.
Det passer også med ordet defer's egentlige betydning.
Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.
| |
David Nielsen (13-04-2008)
| Kommentar Fra : David Nielsen |
Dato : 13-04-08 20:06 |
|
google --> define:defer = hold back to a later time
Så må det vel betyde at jeg ikke skal bruge defer.
Jeg fatter minus.
Nu bruger jeg :
<script type="text/javascript" src="javascript.js" defer="false"
async="true"></script>
Det må vel betyde at den ikke skal vente til senere men udfører det med det
samme.
Hvis i mener scriptet kan startes hurtigere må i gerne skrive det.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (14-04-2008)
| Kommentar Fra : Stig Johansen |
Dato : 14-04-08 06:51 |
|
David Nielsen wrote:
> Så må det vel betyde at jeg ikke skal bruge defer.
>
> Jeg fatter minus.
>
> Nu bruger jeg :
>
> <script type="text/javascript" src="javascript.js" defer="false"
> async="true"></script>
>
> Det må vel betyde at den ikke skal vente til senere men udfører det med
> det samme.
>
> Hvis i mener scriptet kan startes hurtigere må i gerne skrive det.
Det var mig, der fik startet denne forvirring, sorry.
Jeg var ikke bevidst om den måde counter.dk havde opbygget deres skrammel
på.
Det (counter.dk) er nu en del af dit layout, så derfor kan du _ikke_ bruge
defer, beklager at jeg har ledt på afveje.
Du kunne i stedet tage kontakt til counter.dk og fortælle dem, at den måde
de har strikket tingene sammen med at køre alt over ASP, som nok ikke
liiige er den teknologi man skal nævne i samme sætning som performance.
Det er ikke kun din side der bliver ødelagt(langsom), men alle der bruger
counter.dk.
'Før i tiden' var det nok med et lille <img>, der ikke ødelægger
renderingen, men.....
--
Med venlig hilsen
Stig Johansen
| |
|
|