Avatar billede prajm Nybegynder
10. maj 2004 - 06:08 Der er 6 kommentarer

Browser detection

Hej folkens

sidder lige og glor lidt på noget browser detection , men det eneste jeg egentlig bare skal have styr på er detection af eten Mozilla , Opera , eller Ie .. men syntes ikke lige helt jeg kan få mit js til og spilde som følgende så .. noget der har nogle hints til hvor jeg kan læse mere om det eller kan give en hånd med og lige hjælpe ? :)
Avatar billede prajm Nybegynder
10. maj 2004 - 06:09 #1
Det skal lige siges det jeg er ude er

if(browser == mozilla)  { code }
if(browser == IE ) { other js code }
if(browser == Opera { again othe rjs code }

håber der er nogen som kan give en hånd :)
Avatar billede mik789 Nybegynder
10. maj 2004 - 07:33 #2
det kan gøres forskelligt. Nogle går ind for at du tjekker for netop den egenskab i hver enkelt browser der vedrører den kode du vil indsætte. I gamle dage da man kodede til Netscape 4 kunne du f.eks. tjekke for denne browser med: if (document.layers) {kode } fordi det kun var Netscape der understøttede layers.

Det simpleste er at bruge user agent strengen, dvs. browsernes egen tilkendegivelse af hvem de er. F.eks.:

var browser = navigator.userAgent;
if(browser.indexOf('Gecko')>-1) {kode } //Mozilla og Netscape
if(browser.indexOf('MSIE')>-1) { kode } //Internet Explorer
if(browser.indexOf('Opera')>-1) { kode } //Opera

//mik
Avatar billede mik789 Nybegynder
10. maj 2004 - 07:50 #4
og så lige et tip: hvis du skal bruge detection flere gange på siderne er det nemmere med denne form:

var browser = navigator.userAgent;
var gecko = (browser.indexOf('Gecko')>-1)?true:false; //Mozilla og Netscape
var IE = (browser.indexOf('MSIE')>-1)?true:false; //Internet Explorer
var opera = (browser.indexOf('Opera')>-1)?true:false; //Opera

Og så bare:

if(gecko) {kode}
if(IE) {kode}
if(opera) {kode}
Avatar billede prajm Nybegynder
10. maj 2004 - 16:09 #5
Perfekt :)

Nu stiller jeg lige et spørgsmål mere , men alligevel skal jeg nok lige forhøje points :)

er det ikke muligt og kaste det i en function f.eks function browser( ) { browser code }  og så have  function do_ie( ) { if(do_ie() == IE) { f.eks ændre border på en tabel ? kun hvis browseren er ie }

<body onload="do_ie()";>
Avatar billede roenving Novice
10. maj 2004 - 21:05 #6
Jo, du gør bare:

<script type="text/javascript">
var browser = navigator.userAgent;
var gecko = (browser.indexOf('Gecko')>-1)?true:false; //Mozilla og Netscape
var IE = (browser.indexOf('MSIE')>-1)?true:false; //Internet Explorer
var opera = (browser.indexOf('Opera')>-1)?true:false; //Opera

function do_ie(){
//ændr borders
}
</script>

<body onload="IE?do_ie():void(0);">
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