Avatar billede mtrolle Nybegynder
29. januar 2002 - 22:56 Der er 9 kommentarer og
1 løsning

Problemer i NS 6 med document.getElementById

Hejsa!
Jeg oprettede i sin tid dette spg:
http://www.eksperten.dk/spm/155409

Nu har jeg så problemet, jeg har i lang tid udskudt at prøve at få lortet til at virke, da jeg er træt af det! Men nu ville jeg så prøve!
Jeg har selv NS 6,2 og tester derfor i denne, ved ikke om det virker i NS 4, men det bekymre jeg mig ikke om!

Jeg har brugt denne løsning:
<script>
ns4 = (document.layers)? true:false // Forståes kun af NS 4.x
ie4 = (document.all)? true:false // simpelt IE 4 tjeck
ie5 =(document.getElementById)? true:false // Tjekker for getElementById og derved IE 5 og frem
ns6 = (document.getElementById && !document.all)?true:false; // NS 6 har getElementById men fatter intet til document.all
function opdaterSpan(chatHTML) {
if (ie5){
document.getElementById("minDiv").innerHTML = chatHTML;
}else if (ns6){
document.getElementById("minspan").innerHTML = chatHTML;
}else if (ie4){
document.all["minDiv"].innerHTML = chatHTML;
}else if (ns4){ document["nslayer"].document.write(chatHTML);
}
}
</script>

og skriver det således:
<FONT FACE="Arial" SIZE="2"><div id="minDiv"><SPAN ID="minspan"><ilayer id="nslayer"></ilayer>Chat loades!</span></div></FONT>

Men tror I det virker? NEJ, nogen der kan forklare hvorfor?
Avatar billede rrm Nybegynder
29. januar 2002 - 23:11 #1
Hvilken fejl kommer der? Prøv at udskifte ilayer med div og se om det løser problemet?
Avatar billede mtrolle Nybegynder
29. januar 2002 - 23:15 #2
Den skriver kun chat loades!
Avatar billede Slettet bruger
30. januar 2002 - 00:13 #3
Du gør ihvertfald en lille ting "forkert", idet du tester på ie5 FØR ns6 - sådan som du definerer dine variabler er BÅDE ie5 og ns6 true i Netscape 6..., dvs. du bør gøre sådan her:

if (ie4) ...
else if (ns6) ...
else if (ie5) ...
osv...

ELLER, i introen:

ns4 = (document.layers)? true:false // Forståes kun af NS 4.x
ie4 = (document.all)? true:false // simpelt IE 4 tjeck
ns6 = (document.getElementById && !ie4)? true:false; // DOM (NS6+)
ie5 = (document.getElementById && !ns6)? true:false // IE5+

- men om det er dét der er det reele problem kan jeg ikke checke lige nu...
/CS
Avatar billede mtrolle Nybegynder
30. januar 2002 - 00:16 #4
Nej, hjalp heller ikke... :(
Avatar billede Slettet bruger
30. januar 2002 - 14:03 #5
Smid et link, hvor det ikke virker. For jeg kan ikke se nogen fejl.
Avatar billede mtrolle Nybegynder
30. januar 2002 - 14:25 #6
Avatar billede Slettet bruger
30. januar 2002 - 15:00 #7
Det script der ligger dér er jo stadigvæk dit gamle... og jg kan se der mangler en REQUIRED attribute "type" i <script> tagget. Det skal se sådan ud:

<script type="text/javascript">
...
</script>

/CS
Avatar billede Slettet bruger
30. januar 2002 - 18:39 #8
Ja, det virker altså helt fint med min NS6.2.
Avatar billede mtrolle Nybegynder
31. januar 2002 - 16:17 #9
Altså i min JavaScript Console eller hvad det nu hedder i Netscape 6,2, der skriver den:
Error: uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMNSLocation.reload]"  nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)"  location: "JS frame :: <unknown filename> :: onload :: line 0"  data: no]
Også efter jeg har lavet det med type"" i script!
Avatar billede mtrolle Nybegynder
22. marts 2002 - 14:55 #10
Vi kommer vist aldrig videre her var!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester