webForum webForum sponsras med lina och serverplats av Binero AB

Gå tillbaka   webForum > Utveckling > Webbutveckling > Javascript

Javascript Här diskuteras det som rör Javascript, AJAX, DOM & DHTML.

Svar
 
Trådverktyg Visningsalternativ
Äldre 2005-10-25, 15:35   #1
J.N.
Medlem
 
J.N.s avatar
 
Registrerad: 2003-04-02
Ort: Lund
Inlägg: 1 660
Lösningar: 64
Hur avgöra om Firefox?

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?
__________________
Johnny

wF-råd:
- är ditt inlägg förståeligt?
- korrekturläs ditt inlägg, redigera stavfel
- kom ihåg att markera det inlägg som löste problemet
J.N. besöker inte forumet just nu   Svara med citat
Äldre 2005-10-25, 17:30   #2
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
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:
Kod:
if (navigator.vendor && navigator.vendor.toLowerCase() == "firefox"){ /* Möjligtvis Firefox-specifikt */ }
Peter S besöker inte forumet just nu   Svara med citat
Äldre 2005-10-27, 15:52 Markerad som löst av J.N.   #3
J.N.
Medlem
 
J.N.s avatar
 
Registrerad: 2003-04-02
Ort: Lund
Inlägg: 1 660
Lösningar: 64
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.


Jag nöjer mig med följande snutt, då jag egentligen inte behöver ha fram just FireFox.
HTML-kod:
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.
HTML-kod:
if (navigator.vendor && navigator.vendor.toLowerCase() == "firefox") alert("")
__________________
Johnny

wF-råd:
- är ditt inlägg förståeligt?
- korrekturläs ditt inlägg, redigera stavfel
- kom ihåg att markera det inlägg som löste problemet

Senast redigerad av J.N., 2005-11-01 klockan 16:11 Anledning: Ny fakta!
J.N. besöker inte forumet just nu   Svara med citat
Äldre 2005-11-01, 14:28   #4
PepeJeria
Medlem
 
PepeJerias avatar
 
Registrerad: 2003-02-27
Ort: München
Inlägg: 779
Lösningar: 38
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.
PepeJeria besöker inte forumet just nu   Svara med citat
Äldre 2005-11-01, 14:48   #5
Peter S
Medlem
 
Registrerad: 2002-12-15
Ort: Hudiksvall
Inlägg: 5 477
Lösningar: 806
Där ser man!
Peter S besöker inte forumet just nu   Svara med citat
Svar
webForum > Utveckling > Webbutveckling > Javascript

Trådverktyg
Visningsalternativ

Forumregler
Du får inte posta nya trådar
Du får inte posta svar
Du får inte bifoga filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är i GMT +1. Klockan är nu 22:26.


Powered by: vBulletin Version 3.8.6
Copyright © webForum