Avatar billede scrix Nybegynder
04. december 2001 - 13:52 Der er 18 kommentarer og
1 løsning

Detect om browseren er Netscape.

Jeg har brug for et lille, elegant og overskueligt script :) som kan detecte om browseren er Netscape og vise html kode A - ellers vise html kode B.

Der er 4 steder på siden hvor jeg har brug for at skifte mellem kode A og B, alt efter om browseren er Netscape eller ej.

Det skal virke på 4.0+ browsere på Win, Mac og linux. User-agent fra http-headeren er ikke godt nok!


:-) Søren Christian Rix
Avatar billede nikolajdu Nybegynder
04. december 2001 - 13:54 #1
Sådan noget alá det her??

<script>

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

if (ns4||ns6){

document.write(\'NS browser\')

}else{

document.write(\'IE sjover\');
}

</script>
Avatar billede scrix Nybegynder
04. december 2001 - 14:04 #2
Jeg er ikke den store script\'er, så jeg har brug for at få det vist i noget html med header m.v.
Avatar billede nikolajdu Nybegynder
04. december 2001 - 14:06 #3
<html>
<head>
    <title>Untitled</title>
</head>

<body>
<script>

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

if (ns4||ns6){

document.write(\'<table><tr><td>Vi laver en table til NS</td></tr></table>\')

}else{

document.write(\'<table><tr><td>Her laver vi en table til IE</td></tr></table>\');
}

</script>


</body>
</html>
Avatar billede scrix Nybegynder
04. december 2001 - 14:09 #4
Ok, hvad så hvis det er 4 for skellige steder i koden jeg skal skifte mellem NS og IE (eks. med 2 er nok)
Avatar billede nikolajdu Nybegynder
04. december 2001 - 14:12 #5
<html>
<head>
    <title>Untitled</title>
</head>

<body>
<script>

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

if (ns4||ns6){

document.write(\'<table><tr><td>Vi laver en table til NS</td></tr></table>\')

}else{

document.write(\'<table><tr><td>Her laver vi en table til IE</td></tr></table>\');
}

</script>

Her står en masse andet inde på side blablablabla bla bla bla
<br><br>

Her står en masse andet inde på side blablablabla bla bla bla
<br><br>

<script>
if (ns4||ns6){
document.write(\'<table><tr><td>Vi laver endnu en table til NS</td></tr></table>\')
}else{
document.write(\'<table><tr><td>Her laver vi såmænd igen en table til IE</td></tr></table>\');
}
</script>

</body>
</html>
Avatar billede scrix Nybegynder
04. december 2001 - 14:21 #6
Ok, jeg forstår. Der er opstået et tillægs spørgsmål (jeg skal nok smide lidt flere point i puljen). Hvis browseren er NS6 er det IE koden jeg skal vise.
Hvordan ser det så ud?
:-) SC
Avatar billede jakoba Nybegynder
04. december 2001 - 14:25 #7
if ( navigator.appName == \'Netscape\' ) // så er det en netscape browser.

medmindre det er en Opera forklædt som netscape :(( det der \'identify as\' er den tåbeligste \'feature\' jeg længe har set ).
Avatar billede scrix Nybegynder
04. december 2001 - 14:43 #8
Det virker ikke, hverken på IE eller NS, -her er koden

<script>
ns4 = (document.layers)? true:false
ns6 = (document.getElementById && !document.all)?true:false;
</script>

<script>
if (ns4||ns6){
document.write(\'<ilayer id=kortDiva top=\"0\" left=\"0\" width=\"80\" height=\"85\">
<layer id=prikDiva left=\"35\" top=\"44\" width=\"6\" height=\"6\">
<A HREF=\"\" onClick=\"Cofman(\'landkort.taf?fn=kort&amp;husnr=4941&amp;xkor=578059&amp;ykor=6205913&direction=out&dniveau=200&xfocus=578059&yfocus=6205913\'); return false\"><img src=../pics/prik.gif border=\"0\"></a></layer>
<A HREF=\"\" onClick=\"Cofman(\'landkort.taf?fn=kort&amp;husnr=4941&amp;xkor=578059&amp;ykor=6205913\'); return false\"><img src=\"../pics/listekort.gif\" border=\"0\" width=\"80\" height=\"85\"></a></ilayer>\')
}else{
document.write(\'<div id=kortDiva style=\"position:relative;top:0px;left:0px\">
<div id=prikDiva style=\"position:absolute;top:44px;left:35px; width: 6; height: 6\"><A HREF=\"\" onClick=\"Cofman(\'landkort.taf?fn=kort&amp;husnr=4941&amp;xkor=578059&amp;ykor=6205913&direction=out&dniveau=200&xfocus=578059&yfocus=6205913\'); return false\"><img src=../pics/prik.gif border=\"0\"></a></div>
<A HREF=\"\" onClick=\"Cofman(\'landkort.taf?fn=kort&amp;husnr=4941&amp;xkor=578059&amp;ykor=6205913\'); return false\"><img src=\"../pics/listekort.gif\" border=\"0\" width=\"80\" height=\"85\"></a></div>\');
}
</script>
Avatar billede scrix Nybegynder
04. december 2001 - 14:52 #9
Er det fordi at min onClick indeholder \' og ; ?
Hvordan kan det ellers skrives ? - er det noget med \\\' eller /\' ?

:-) SC
Avatar billede jakoba Nybegynder
04. december 2001 - 15:27 #10
du skal ikke lave & til &amp; i parameteren. blot:
onClick=\"Cofman(\'landkort.taf?fn=kort&husnr=4941&xkor=578059&ykor=6205913&direction=out&dniveau=200&xfocus=578059&yfocus=6205913\'); return false\"

dine \' og \" tegn er ok.

Avatar billede scrix Nybegynder
04. december 2001 - 15:32 #11
&amp; er rettet til & og \' er rettet til \\\' -og det virker.

Nu har jeg bare brug for at NS6 behandles som IE.
-Eller endnu bedre: hvis browseren forstår <ilayer> vises kode A -ellers kode B
Avatar billede jakoba Nybegynder
04. december 2001 - 15:55 #12

if ( document.layers ) {
    document.write( \'kode A\' );
} else
if ( document.all || document.getElementById ) {
    document.write( \'kode B\' );
} else {
    document.write( \"det er da vist ikke en CSS kompetent browser du bruger.\" );
}
Det kan godt blive svært at finde en \'kode B\' der virker i både NS6 og IE og Opera?

mvh JakobA
Avatar billede scrix Nybegynder
04. december 2001 - 16:03 #13
Jeg skal som sagt bruge det 4 steder på min side. Det kunne være effektivt hvis det meste af logikken blev gemt væk i headeren, og så kaldt de 4 steder fra bodyen i denne from:

<script>
if (ns4||ns6){
document.write(\'<table><tr><td>Vi laver endnu en table til NS</td></tr></table>\')
}else{
document.write(\'<table><tr><td>Her laver vi såmænd igen en table til IE</td></tr></table>\');
}
</script>

Det har jeg jo allerede til at virke. 

Tjekker dit script på ilayer ? eller hvad?

:-) SC
Avatar billede jakoba Nybegynder
04. december 2001 - 16:11 #14
Hvorfor accepterede du så ikke nikolajdu\'s allerførste svar?

<script>

ns4 = (document.layers)? true:false
ns6 = (document.getElementById && !document.all)?true:false;
IE  = ( document.all )?true:false;
opera = ( document.all && navigator.userAgent.indexOf(\"Opera\")>0 )?true:false;

if (ns4){
    document.write(\'NS4 browser\')
}else
if ( NS6 || IE || opera ) {
    document.write(\'NS6 eller IE eller Opera sjover\');
}

</script>

mvh JakobA
Avatar billede scrix Nybegynder
04. december 2001 - 16:36 #15
> Hvorfor accepterede du så ikke nikolajdu\'s allerførste svar?
Fordi jeg jo havde et tillægs-problem og han har ikke svaret siden. Men jeg synes da at det er fair hvis du og nikolajdu deler.

Skriv et \'svar\' i stedet for en kommentar så deler jeg point ud :)
Avatar billede jakoba Nybegynder
04. december 2001 - 16:43 #16
nikolajdu\'s svar.
Avatar billede scrix Nybegynder
04. december 2001 - 16:46 #17
Du vil altså ikke ha\' point ?
Avatar billede jakoba Nybegynder
04. december 2001 - 17:00 #18
næe.

mvh JakobA
Avatar billede scrix Nybegynder
04. december 2001 - 17:03 #19
Jeg takker og bukker :) mit problem er løst - ha\' en go\' aften

Mvh Søren Christian Rix
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