Avatar billede mtrolle Nybegynder
07. januar 2002 - 14:22 Der er 10 kommentarer og
1 løsning

Virker ikke i netscape

Hvorfor virker dette ikke i javascript?

<script>
function opdaterSpan(chatHTML) {
if (document.getElementById) document.getElementById(\"iespan\").innerHTML = chatHTML;
else if (document.all) document.all[\"iespan\"].innerHTML = chatHTML;
else if (document.layers) document[\"nslayer\"].document.write(chatHTML);
}
</script>
Avatar billede keysersoze Ekspert
07. januar 2002 - 14:26 #1
fordi NS så vidt jeg husker ikke understøtter innerHTML
Avatar billede mtrolle Nybegynder
07. januar 2002 - 14:27 #2
kan det gøres på en anden måde?
Avatar billede nikolajdu Nybegynder
07. januar 2002 - 16:18 #3
NS 6.x forstår fint innerHTML, men fatter minus af document.layers - Det er kun NS 4.x der forstår den.

Desuden er jeg ikke så glad for at du kalder et lag der hedder \"iespan\" - Er det fordi dette lag kun skal virke i IE??? Som det er nu tager NS 6.x også dette lag med.

function opdaterSpan(chatHTML) {
if (document.getElementById){
document.getElementById(\"iespan\").innerHTML = chatHTML;
}else if (document.getElementById&&!document.all){
document.getElementById(\"ns6span\").innerHTML = chatHTML;
}else if (document.all){
document.all[\"iespan\"].innerHTML = chatHTML;
}else if (document.layers){ document[\"nslayer\"].document.write(chatHTML);
}
}

/Nikolaj
Avatar billede nikolajdu Nybegynder
07. januar 2002 - 16:23 #4
Eller måske noget mere forståeligt:

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(\"iespan\").innerHTML = chatHTML;
}else if (ns6){
document.getElementById(\"ns6span\").innerHTML = chatHTML;
}else if (ie4){
document.all[\"iespan\"].innerHTML = chatHTML;
}else if (ns4){ document[\"nslayer\"].document.write(chatHTML);
}
}

Dette er så et problem i Opera, da den forstår alle 4 tjeck (all,layers,getElementById & samt kombinationen document.getElementById && !document.all). Her er man nødt til at omgå det ved at tjekke direkte på browsernavnet.

/Nikolaj
Avatar billede mtrolle Nybegynder
07. januar 2002 - 20:15 #5
Jeg har Netscape 6,2 og der virker det sidste script du skrev Nikolaj, heller ikke!

mtrolle
Avatar billede nikolajdu Nybegynder
08. januar 2002 - 06:09 #6
Når det ikker virker kan der være 2 grunde.

1. Læg mærke til at jeg har lavet et \"ns6span\" id
2. Du roder i resten af koden.

Hvilken fejl får du??
Avatar billede Slettet bruger
08. januar 2002 - 16:45 #7
nikolajdu>> Sorry, det var mig, der kaldte <span>\'en for \"iespan\". Jeg skulle have sagt \"minSpan\" eller sådan noget! :)

mtrolle>> Prøv at gøre således:

<script>
function opdaterSpan(chatHTML) {
if (document.getElementById) document.getElementById(\"minDiv\").innerHTML = chatHTML;
else if (document.all) document.all[\"minDiv\"].innerHTML = chatHTML;
else if (document.layers) document.minILayer.document.minLayer.document.write(chatHTML);
}
</script>

<div id=\"minDiv\"><ilayer id=\"minILayer\"><layer id=\"minLayer\"></layer></ilayer></div>
Avatar billede Slettet bruger
08. januar 2002 - 16:45 #8
Og så skal funktionen jo nok kaldes \"opdaterChat\", men sådan er der jo så meget... :)
Avatar billede mtrolle Nybegynder
08. januar 2002 - 16:48 #9
Jeg blev lige forvirret nu???
Avatar billede Slettet bruger
09. januar 2002 - 15:41 #10
Hvad er det, du ikke forstår?
Du skal bare ændre dit script til det, jeg har skrevet, og så indsætte <ilayer>-koden inden i <span>\'en (som forresten er blevet til en div i mellemtiden)!

P.S. Lad være med at give mig points, da jeg jo skrev før i det andet spm, at jeg ikke kunne hjælpe dig!
Avatar billede cpfrande Nybegynder
19. januar 2002 - 10:01 #11
Weee.... Hmm... Phoenixy... gider du og hjælpe mig?? Har sendt dig en mail, tark !

- Frande -
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