Avatar billede dr.tynell Nybegynder
21. februar 2002 - 15:03 Der er 9 kommentarer og
1 løsning

Tjekke browser

Hej!

Hvordan vælger jeg stylesheet ud fra mit javascript?

Jeg har jeg prøvet med nedenstående kode, men det virker ikke.

<link rel="stylesheet" href="default.css" type="text/css">
<script language="JavaScript">
if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.write('<link rel="stylesheet" href="nn4.css" type="text/css">');
}
</script>
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 15:07 #1
Sådan:

if (document.layers){
document.write('<LINK REL="StyleSheet" HREF="nn4.css" type="text/css">')
}else{
document.write('<LINK REL="StyleSheet" HREF="my.css" type="text/css">')
}

/Nikolaj
Avatar billede dr.tynell Nybegynder
21. februar 2002 - 15:12 #2
Hvad angiver document.layers ?
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 15:16 #3
document.layers forståes kun af Netscape 4.x - Så :

hvis(document.layers.findes) // så tager vi nss4.css filen.

ellers my.css


I Netscape 6.x, Ie5, Ie5.5 og IE 6.0 bruges if(document.getElementById())

Vil du vælge alle netscape browsere bruger du : if(!document.all) // document.all forståes af IE 4 og frem.

/nikolaj
Avatar billede dr.tynell Nybegynder
21. februar 2002 - 15:20 #4
dvs med:
if (document.layers){
document.write('<LINK REL="StyleSheet" HREF="nn4.css" type="text/css">')
}else{
document.write('<LINK REL="StyleSheet" HREF="my.css" type="text/css">')
}

bruger den så nn4.css hvis det også er IE4 ?
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 15:22 #5
Nej så bliver det lidt mere kompliceret.

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById&&document.all)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

if (ie4||ns4){
document.write('<LINK REL="StyleSheet" HREF="nss4.css" type="text/css">')
}else if (ns6||ie5){
document.write('<LINK REL="StyleSheet" HREF="my5.css" type="text/css">')
}
Avatar billede dr.tynell Nybegynder
21. februar 2002 - 15:23 #6
ok.. tak!
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 15:34 #7
No problemos :))
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 15:36 #8
Hvis du hælder til den anden metode så hedder det iøvrigt:

if (navigator.appName == "Netscape"&&navigator.appVersion == "4")

:))
Avatar billede dr.tynell Nybegynder
21. februar 2002 - 16:42 #9
hva er forskellen på at køre de to forskellige?

henholdsvis navigator.appName og document.layers.
Avatar billede nikolajdu Nybegynder
21. februar 2002 - 16:44 #10
Forskellen er ca så lang :

if (navigator.appName == "Netscape"&&navigator.appVersion == "4")
if (document.layers)

Altså kortere og optimeret kode :))
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