document.all definerer ikke IE. Konstruktionen tester faktisk bare om den collection der hedder all er tilstede på objectet document. Det kan den sagtens være i andre browsere end IE.
du kan bruge nogle metoder på navigator objektet for at finde ud af hvilken browser du har fat i.
Prøv f.eks. at indsætte følgende i en javascript blok i en htmlfil, og test i forskellige browsere/platforme:
Ok! men jeg skal bruge checket til dette script. Som du ser er check for de 4 browsere, selv om de ikke alle skal bruge. Men hvordan kan jeg sikre mig at der checkes for IE på mac. Da denne browser skal ha' angivet den værdi der udskrives, når browseren er NS og ikke IE. Jeg må kunne sætte et IEMAC check ind, hvis jeg bare vidste hvad der definerer den browser.
Men.. men.. den skal ikke både checke for IEMAC og IE i samme linie, da den nuværende IE udskriver en linie og NS udskriver en anden linie, der nemlig også skal gælde for IEMAC. Kan det se sådan her ud så?
var is_mac = (agt.indexOf("mac")!=-1); // hack ie5 js version for mac if (is_mac && is_ie5up) is_js = 1.4; var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1))); var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)));
Jo, hvis du bare husker at sætte agt = navigator.userAgent; først, så ser de da også meget fornuftige ud.
De chekker ikke bare om det er mac men også om det er PowerPc eller Motorola 68K serien.
Jeg kender ikke de listige detaljer i hvordan forskellige mac'er håndterer styles forskelligt så jeg skal ikke lige kunne sige om det er nødvendigt for dig at skelne på det niveau.
Hvad vil du så foreslå jeg har med i mit IEMAC check? Vil du illustrere det, så jeg er sikker? En komination af denne: (agt.indexOf("mac")!=-1); og denne: (navigator.platform.indexOf('Mac')!= -1)
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.