Avatar billede straszek Praktikant
20. januar 2008 - 13:23 Der er 11 kommentarer og
1 løsning

browser detection

Jeg arbejder normalt i php, men er blevet "tvunget" til at lave noget javascript i forbindelse med en projekt - jeg har ingen erfaring i javascript, så jeg har brug for hjælp til at få lavet følgende:

Hvis den browser den besøgende bruger er hvilken som helst udgave af IE så forsæt på siden, hvis der bruges en anden browser, så gå til index2.html
Avatar billede gurly Praktikant
20. januar 2008 - 13:34 #1
du kan ikke "forsæt på siden"  men du kan gøre sådan at index.html måler om folk har IE eller anden browser, og der efter viderestiller til index1.html hvis de har IE
eller viderestiller til index2.html hvis de har en anden browser.

det du gør at din index.html skal kun indeholde følgende i sidens body >

<script type="text/javascript">
if ((navigator.appVersion >= "4") && (navigator.appName == "Microsoft Internet Explorer")) {
window.location="http://www.adressen.dk/index1.html";
}

else if (navigator.appVersion) {
window.location="http://www.adressen.dk/index2.html";
}

</script>


siden vil så redirecte til index1 eller index2 alt efter browsertype
Avatar billede w13 Novice
20. januar 2008 - 13:41 #2
Men i dag er det nu slet ikke så svært at lave sider, der er stort set ens i alle browsere.
Avatar billede gurly Praktikant
20. januar 2008 - 13:44 #3
Vrøvl jeg skrev, for du kan bare bruge følgende på siden index.html
så bliver folk på denne side hvis de har explorer, men viderestilles hvis de har anden browser

<script type="text/javascript">
if ((navigator.appVersion >= "4") && (navigator.appName == "Microsoft Internet Explorer")) {

}

else if (navigator.appVersion) {
window.location="http://www.adressen.dk/index2.html";
}

</script>
Avatar billede gurly Praktikant
20. januar 2008 - 13:45 #4
w13 > jeg er nu selv stødt på ting som kun kan lade sig gøre at køre i explorer, men ikke i andre browsere
Avatar billede w13 Novice
20. januar 2008 - 13:50 #5
gurly > Der er et par ting, der er lettere i bestemte browsere, men generelt kan alt hvad IE kan også laves i de andre browsere, nogle gange må man bare programmere det selv. Som regel er der dog også en grund til, at det kun virker dér. ;)

Enkelte steder har browser-programmørerne dog fuldstændig siddet og sovet. F.eks. når det kommer til transparency, der stort set udføres med forskellige kommandoer for hver browser.
Avatar billede gurly Praktikant
20. januar 2008 - 13:57 #6
w13 > nej det passer ikke
gå ind på http://www.aelling.lir.dk/public og klik på fjernsynet midt på siden
(brug internet explorer)
så åbner der en tv player, bemærk så at menuen nedderst ligger "oven på" den nedderste linie af win media player, dette kan kun lade sig gøre i IE
ved alle andre browsere smutter menuen om på bagsiden af playeren og bliver usynlig.
Playeren har envidere en pause knap og en fullscreen knap, men da desse køre med javascript kommandoer direkte til mediaplayer, kan dette kun fungere i IE da det er den eneste browser der supportere dette.
Derfor bliver andre browsere også dirigeret til en anden side/player

Ja ikke for at reklamere / spamme her
bare fordi nu påstod du hårdnakket at alt kan lade sig gøre i alle browsere, men det passer altså ikke i alle tilfælde c",)
Avatar billede straszek Praktikant
20. januar 2008 - 14:09 #7
Hej,
>gurly - det virker perfekt, smid et svar for point.

Jeg er selv modstander af at lave ting der kun virker i bestemte browsere, men det jeg laver er en at proppe en flash multi-fil-uploader ind i en php system, og det virker kun optimalt i IE
Avatar billede w13 Novice
20. januar 2008 - 14:10 #8
Nej, okay, det var også derfor, jeg dækkede mig ind ved at sige "generelt", for jeg ved godt, at IE har nogle forskelle, hovedsageligt fordi det er skabt af Microsoft specifikt til deres OS. =)
Men jeg vil stadig vove at påstå, at det kunne løses ved at fjerne den nederste "statuslinje" i MediaPlayer-afspilleren, altså fuldstændig erstatte den af din egen statuslinje.
Da jeg skrev, at det meste kan laves i samtlige browsere, havde jeg faktisk også selv den tanke, at f.eks. flash-applikationer altid vil blive vist øverst oven på alle andre elementer i visse browsere, heriblandt IE. Dette kan - så vidt jeg ved - ikke omgåes.
Avatar billede gurly Praktikant
20. januar 2008 - 14:11 #9
c",)
Avatar billede gurly Praktikant
20. januar 2008 - 14:11 #10
prøver lige igen c",)
Avatar billede gurly Praktikant
20. januar 2008 - 14:14 #11
w13 >
der ligger jo ting i den status linier man ikke kan lave selv
og fullscreen kanppen kan kun laves i explorer

men ja, du har da ret, de fleste ting bør laves så de virker i alle browsere
Avatar billede olebole Juniormester
20. januar 2008 - 15:05 #12
<ole>

- og Firefox kan skam også mange 'fine' ting, andre ikke kan ... f.eks:

var oBdy = document.getElementsByTagName("body")[0];
document.getElementsByTagName("meta")[0].appendChild(oBdy);

Det er der dog forhåbentlig ikke nogen, der prøver på i nogen somhelst browser!  ;o)

Kører man et trusted intranet og firmaets webbrowser er IE, er der dog en hel del hensigtsmæssige ting, man kan lave, og som ikke lader sig gøre i andre browsere. At det så kan give en del ekstra sikkerheds arbejde er en anden ting  :)

/mvh
</bole>
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