J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Hur vet man att det är Firefox som är på besök?
De koder jag hittar är den vanliga document.all för IE, annars (else alltså) är det något annat.
Jag har hittat !document.getElementById i en annan tråd för att köra specialkod, och satte helt enkelt !!document.getElementById, vilket fungerar. Smart, men osnyggt! :)
Först kom jag fram till !document.layers && !document.all vilket är något snyggare.
Finns det något som är mer korrekt?
Peter SMedlem sedan dec. 20025 483 inlägg Browserdetektering är inte det lättaste; speciellt med tanke på att man i webbläsare som Opera har möjligheten att välja hur bläddraren skall identifieras.
Det bästa sättet tror jag är att använda objektdetektering, d.v.s. if (document.getElementById){ /* För webbläsare som klarar document.getElementById */ }.
Annars kanske du kan göra enligt:
if (navigator.vendor && navigator.vendor.toLowerCase() == "firefox"){ /* Möjligtvis Firefox-specifikt */ }
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Vän av ordning undrade säkert varför jag inte tog bort dubbla frågetecken i !!document.getElementById för att kontrollera det. Senare på dagen kom jag på att jag kunde förklarat att det var testat och inte ger true/false som resultat.
Fast, nu testade jag med var ff = document.getElementById, och då fungerar det.
Hade tydligen inte provat korrekt...
Dessutom är det faktiskt det jag gör i det jag kom fram till. :l
Jag nöjer mig med följande snutt, då jag egentligen inte behöver ha fram just FireFox.
if (document.getElementById) ff=true;
Provade även Peter S variant, och den fungerar exakt för Firefox. :)
Fast, inte så länge till, se nedan.
if (navigator.vendor && navigator.vendor.toLowerCase() == "firefox") alert("")
Jag avråder från att använda navigator.vendor för att detecta Firefox, eftersom detta har tagits bort i kommande version.
I 1.5 får man en tom sträng, så scriptet ovan kommer ej vara true. Varför navigator.vendor inte returnerar Firefox går att läsa här.
Så för att lösa ditt problem, gör som Peter S sa först, använd dig av objektidentiering.