Avatar billede theselfimages Nybegynder
11. februar 2003 - 21:50 Der er 9 kommentarer og
1 løsning

Forskel på detection af IE?

Hvad forskellen på disse 3 detections af IE?
Detecter de hver især forskellige versioner af IE?

IE = (document.all)?true:false;
IE = (window.navigator.userAgent.indexOf('MSIE')!=-1)?true:false;
IE = (window.navigator.userAgent.indexOf("MSIE")>=0)?true:false;
Avatar billede olebole Juniormester
11. februar 2003 - 22:14 #1
<ole>

Det første er et 'teknologi-check'. Hvis browseren forstår 'document.all', er den mindst IE4.0

2 og 3 gør det samme - nemlig checker, hvad browseren oplyser om sig selv i navigator.userAgent-headeren. Hvis strengen 'MSIE' findes her, er det en IE

/mvh
</bole>
Avatar billede theselfimages Nybegynder
11. februar 2003 - 23:31 #2
Så der er ingen forskel på hvilken af dem jeg bruger, hvis jeg f.eks. ønsker at udelukke samtlige versioner af IE?

Det kunne tænkes at 'document.all' var den mindst sikre betode, da denne i sin simpelhed må kunne foregår andetsteds end i forbindelse med IE. Eller er jeg helt galt på den her?
Avatar billede olebole Juniormester
12. februar 2003 - 00:27 #3
'window.navigator.userAgent.indexOf("MSIE")' returnerer kun true, hvis det er en IE, så den kan du roligt bruge  ;o)

Udtrykket returnerer den plads 'MSIE' står på i strengen ... og '-1', hvis ikke det findes. Derfor kan du frit vælge mellem de to sidste. De gør præcis det samme.
/mvh
Avatar billede theselfimages Nybegynder
12. februar 2003 - 00:34 #4
Ok.. tak for forklaringen.
Avatar billede olebole Juniormester
12. februar 2003 - 00:38 #5
... anytime  ;o)
Avatar billede nikolajdu Nybegynder
12. februar 2003 - 09:35 #6
document.all forståes underligt nok af den ellers altid påståelige Opera, så man skal passe lidt på der.... :))
Avatar billede theselfimages Nybegynder
12. februar 2003 - 10:29 #7
Så denne vil være den sikreste til at detecte for KUN IE alene?

IE = (window.navigator.userAgent.indexOf('MSIE')!=-1)?true:false;
Avatar billede nikolajdu Nybegynder
12. februar 2003 - 10:32 #8
yep :)
Avatar billede nikolajdu Nybegynder
12. februar 2003 - 10:42 #9
Den her virker ihvertilfald.

<script>

ns4 = (document.layers)? true:false
all = (document.all)? true:false
DOM = (document.getElementById)?true:false;
opera = (window.navigator.userAgent.indexOf('Opera')!=-1)?true:false;
ns6 = (document.getElementById && !document.all)?true:false;

if(ns4){
alert("det her er netscape 4")
}else if(ns6){
alert("det her er netscape 6 eller h&oslash;jere")
}else if(DOM&&!opera){
alert("det her er IE 5 eller h&oslash;jere")
}else if(!DOM&&all){
alert("IE 4");
}else if(all&&DOM){
alert("Opera 5 eller h&oslash;jere");
}

</script>

/Nikolaj
Avatar billede theselfimages Nybegynder
12. februar 2003 - 10:48 #10
Hvad er DOM og hvordan ville du tilføje detecttion for Mozilla i dit script?

(window.navigator.userAgent.indexOf("gecko/") + 14)?true:false;  ????

Problemet med denne er at den også påvirker IE, den ved check for Mozilla skal se sådan her ud:
(window.navigator.userAgent.indexOf("gecko/") + 14 &&! (window.navigator.userAgent.indexOf("MSIE")>=0))

Men Gecko falder jo også ind og gælder for Netscape... der er nogle konflikt problemer her. Jeg er ude efter en komplet og sikker måde på at detection samtlige store browsere, uden at skulle udelukke den ene eller den anden...

Kan du tilskrive dette script noget?

MOZ  = (window.navigator.userAgent.indexOf("gecko/") + 14)?true:false;  // Mozilla
NS4  = (document.layers)?true:false;                                      // Netscape 4.x
NS    = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;          // Netscape 5.x
IE    = (window.navigator.userAgent.indexOf('MSIE')!=-1)?true:false;      // Explorer 4.0-6.0
IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false;                // Explorer MAC
OP    = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;            // Opera (All Versions)

WIDTH = screen.width;


if (NS4 || OP) {
location.href='navigation/browser.htm';
} else if (WIDTH < 800) {
location.href='navigation/resolution.htm';
}
//-->
</script>
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