04. oktober 2001 - 00:13Der er
11 kommentarer og 1 løsning
navigator.appVersion problem med IE 6
java script:alert(navigator.appVersion);
giver
\"4.0 (compatible; MSIE 6.0; Windows NT 5.0)\"
dvs. en parseInt() på den giver 4 .. men jeg skal jo have 6 istedet .. hvordan klarer jeg lige den ? Og dens kal også være kompatibel med ældre IE\'ere som f.eks. 4 og 5.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
skal du bruge appVersion til noget, du ikke kan checke med fx: if (document.getElementById) newer=true; // ie5.0+ og ns6 if (document.all && !document.getElementById) ie4=true; //ie4 if (document.layers) ns4=true; //ns4
<ole> if (document.all && document.getElementById) ie5=true; //ie5 ...simple as that :)
Lad mig lige prøve at forklare: Der er to hoved måder at spørge på. Man kunne kalde dem for \'navne-check\' og \'teknologi-check\'.
Ved navne checket spørger du browseren: \"Hvad kalder du dig?\"...altså, hvad returnerer browseren, hvis man spørger til \'navigator.appName\'. Så kan man lede efter en del-streng, der er unik for den browser, man søger efter. Findes den, er det den browser, man leder efter - ellers ikke.
Ved teknologi checket, spørger man: \"Hvad siger du, hvis jeg siger \'hammer og søm\'?\" Hvis den smiler og nikker (returnerer true), så er det nok en tømrer. Havde jeg spurgt om \'mørtel og murerske\', havde det været en murer. Altså, man spørger om noget, man ved, *kun* den browser, man leder efter, forstår: \'document.all\' forstår alle IE\'ere fra 4.0 og op - og *kun* IE\'ere. \'document.layers\' forstår *kun* NS4\'ere...osv.
Teknologi checket er ikke noget standardiseret check. Det er noget, nogle kvikke kodeho\'der selv har fundet på, på et eller andet tidspunkt. Det betyder også, at du er velkommen til at lave dit eget. Det gjorde jeg selv for nyligt, da jeg skulle kunne genkende IE5.5 og højere. Jeg gik ind på MS\' dokumentations sider over DHTML-metoder og fandt ud af, at metoden \'window.createPopup\' blev introduceret i IE5.5. Altså kan jeg nu spørge: var ie55 = (window.createPopup)? true : false; På samme måde kan du selv finde en metode, der først lige er blevet introduceret i IE6.0 og spørge, om browseren forstår den. Så kan du altid genkende en IE6\'er eller derover - når de engang kommer :) Du kan endvidere altid kombinere to eller flere teknologi check, som kim_bille gjorde med IE4 - og som jeg selv gjorde med IE5+, ovenfor.
Jeg ved godt, spørgsmålet er blevet besvaret, men håber at kunne afmystificere emnet lidt med dette :) /mvh </bole>
Synes godt om
Ny brugerNybegynder
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.