Browser detectie Firefox

Status
Niet open voor verdere reacties.

Uturn

Gebruiker
Lid geworden
7 apr 2009
Berichten
100
Waarschijnlijk een simpele vraag, maar ik kan het antwoord niet vinden.
Wanneer ik een script uitprobeer om het type browser te detecteren, en ik test hem op FF, dan krijg ik de melding dat ik Netscape gebruik.

Ik gebruik hiervoor navigator.appName.

Weet iemand waarom? Wat krijg je als antwoord als ik wel Netscape zou gebruiken?
 
Hoi Uturn,
Waarom?
Zie hier bijvoorbeeld.

Wat krijg je als antwoord als ik wel Netscape zou gebruiken?
Netscape 9 zegt:
netscape-alert.png
;)

Met vriendelijke groet,
CSShunter
 
Daarnaast ga ik gelijk even zeuren dat met Javascript (of php for that matter) een slecht idee is. Behalve als je test vanwege het testen*. navigator.appName is zgn. 'evil'; zie sites als deze, deze, meer en uiteraard deze


:thumb:




* -> met 'testen vanwege het testen' bedoel ik: je probeert het omdat je javascript wilt leren, of iets in die richting. :)
 
Laatst bewerkt:
Bedankt voor die link csshunter, dit script detecteerd mijn browsers wel prima.

Ik moet toegeven Vegras dat ik het niet wil gebruiken om te testen, maar omdat mijn html en javascript door verschillende browsers anders wordt geïnterpreteerd, dus ik wordt gedwongen:evil:
 
ik word gedwongen
Aha!
Als het allemaal valid spul is (html, css, javascript), heb je dan ook nog andere verschillen dan tussen Internet Explorer (of sommige IE-versies) en de rest?

Want dan zou je alleen maar "conditional comments" nodig hebben om het kaf van het koren te scheiden. En dat kan het leven een stuk aangenamer maken (wellicht ook voor mensen die toevallig of niet toevallig javascript uit hebben staan). :)
Evil oplossingen ben ik ook niet zo'n voorstander van...eigenlijk gewoon tegenstander!

Met vriendelijke groet,
CSShunter.
 
Laatst bewerkt:
Als het allemaal valid spul is (html, css, javascript), heb je dan ook nog andere verschillen dan tussen Internet Explorer (of sommige IE-versies) en de rest?

Ja:(

Wat bedoel je met "conditional comments" ?
 
Conditional Comments (link)
Conditional comments only work in Explorer on Windows, and are thus excellently suited to give special instructions meant only for Explorer on Windows.


(ohja, en over javascript: post je code eens, ik weet zeker dat je het kan veranderen tot code die in ALLE browsers werkt :))
 
Laatst bewerkt:
... en tot mijn verrassing ontdekte ik laatst: er bestaat er ook een "omgekeerd Conditional Comment", d.w.z. een commentaarcode die alléén de code doorlaat voor niet-Internet Explorer browsers! Oftewel: IE ziet de constructie aan voor een commentaar, terwijl het dat in werkelijkheid (volgens de standaarden) niet is.
Maar dit zal je in de praktijk nauwelijks nodig hebben. Uitzonderingen moeten in 99% voor IE (of een IE-versie) gemaakt worden, en niet voor de rest! :)

(en ik ben ook wel nieuwsgierig naar je browser-afhankelijke script)

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Bedankt voor de hulp!

De scripts waar het om gaat zijn onderdeel van een vrij uitgebreid script, pagina's vol. Die browserafhankelijke codes zitten verspreid in dit script ben ik bang. Dus het wordt moeilijk dat te posten. Na enkele bewerkingen laat ik bijvoorbeeld javascript een html-pagina schrijven en dan pakt het resultaat anders uit in FF dan in IE. Gisteren ontdekte ik dat zelfs het resultaat dat gebaseerd is op berekeningen in FF anders is als in IE, dat is toch wel erg merkwaardig. Wat ik ook vreemd vind is dat ik in een stylesheet een lettertype + grootte gedefinieerd heb wat er in FF anders uitziet als in IE. Lettertype is toch lettertype?

Ik ben html en javascript aan het leren door enkele scripts te schrijven voor mijn werk, dan weet ik ook zeker dat ik ze niet voor niets schrijf. Ik werk op een celbiologisch/ moleculair biologisch laboratorium. Ik heb een, vooralsnog vrij simpele, webpagina geschreven voor 'educatie' doeleinden. Iets waar ik nog aan het werken ben. En enkele tools om (simpele) bewerkingen met nucleotidesequenties uit te voeren (DNA en RNA sequenties). Het is de bedoeling dat deze scripts doen wat ik mis in beschikbare programma's.

Heeft het zin om bijvoorbeeld de stylesheet te posten (aangezien alle pagina's daar gebruik van maken)?

Een voorbeeld van javascript code. Er dienen sequenties te worden ingevoerd waarin alleen A, C, G, T of U voorkomt. In eerste instantie wil ik de spaties, enters, LF en CR eruit halen met deze code:

var TargetSeq = (unescape(escape(document.PrimerInvoer.TargetSeq.value.toUpperCase()).replace(/%0D%0A/g,""))).replace(/ /g, "");

Dit werkt dus niet in FF, wel in IE.
 
Een voorbeeld van javascript code. Er dienen sequenties te worden ingevoerd waarin alleen A, C, G, T of U voorkomt. In eerste instantie wil ik de spaties, enters, LF en CR eruit halen met deze code:

var TargetSeq = (unescape(escape(document.PrimerInvoer.TargetSeq.value.toUpperCase()).replace(/%0D%0A/g,""))).replace(/ /g, "");

Dit werkt dus niet in FF, wel in IE.
Yup. Dat komt omdat je document.form.field-syntax gebruikt, inplaats van het ('betere') gEBY. Daarnaast, vanwaar de escape() EN unescape()????



Dit zou in bijde moeten werken:[JS]var elem, value, newValue;

elem = document.getElementById('TargetSeq');
value = elem.value.toUpperCase();

newValue = value.replace(/%0D%0A/g,'');
newValue = newValue.replace(/ /g,'');
[/JS]
en je html van je veld:
HTML:
<input type='text' id='TargetSeq' />


Gisteren ontdekte ik dat zelfs het resultaat dat gebaseerd is op berekeningen in FF anders is als in IE, dat is toch wel erg merkwaardig.
Dat ligt denk ik eerder aan de code die je geschreven hebt, dan aan de 'berekeningen' tussen FF en IE :)




Ik denk dat je multi-browser css problemen beter in het CSS subforum kan plaatsen. Javascript kan je best hier posten, mischien kan iemand (ik bijvoorbeeld :p) er even naar kijken. Vergeet niet de [ JS] en [/ JS] eromheen te zetten! Dan is het nog leesbaar ook.

:thumb:
 
Laatst bewerkt:
Wat ik ook vreemd vind is dat ik in een stylesheet een lettertype + grootte gedefinieerd heb wat er in FF anders uitziet als in IE. Lettertype is toch lettertype?
Mwoh, dat hoeft niet altijd!
Maar, aansluitend bij Vegras: gooi deze vraag maar samen met je stylesheet in de CSS-rubriek. :)
O ja, en graag een stukje html erbij voor de bezichtiging!

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Thanks, ik zal het eens proberen te implementeren als ik tijd heb van de week.
Ik ken getElementById wel, maar als beginner zie je niet direct alle mogelijkheden. Je moet er maar op komen he...

Ik gebruikte escape om de verborgen karakters zoals enters 'zichtbaar' te maken, en het leek me logisch dit na het verwijderen van die karakters weer ongedaan te maken. Uit jouw vraag maak ik op dat dit niet hoeft.

Zo zullen er wel meer dingen zijn in mijn scripts die een expert anders, efficiënter zou aanpakken. Soms moet ik expres stukjes code toevoegen om het gewenste resultaat te krijgen, waarvan ik niet begrijp waarom.

Over die berekeningen: Als een bepaalde formule in IE een andere uitkomst geeft als in een andere browser vind ik dat vreemd. Ik ging ervan uit dat javascript codes hetzelfde werden geïnterpreteerd in elke browser.:confused:

Ik kan hier wel al mijn javascriptproblemen posten, maar die codes zijn vrij lang en ingewikkeld, dat kost veel tijd om die door te nemen wanneer je ze niet geschreven hebt.

Zie de reactie van csshunterpas na posten: ik zal eens naar css-forum gaan.
 
Laatst bewerkt:
Als een bepaalde formule in IE een andere uitkomst geeft dan in een andere browser vind ik dat vreemd.
Als niet-scriptexpert: dat vind ik nou ook vreemd! :shocked: En zie zo gauw 3 mogelijkheden:
  1. het script volgt de standaarden en is foutloos > dan doen 1 of meer browsers vreemd (maar dat doet ze wel eens meer ...).
  2. het script volgt niet de standaarden > dan kan er IE-only script ingeslopen zijn, wat verschillen kan verklaren.
  3. het script is niet foutloos > dan kan de manier van foutafhandeling tussen IE en andere browsers verschillen (bij html/css gebeurt dat tenminste, er zijn geen waterdichte regels voor de manier waarop foutafhandeling moet plaatsvinden. Firefox is vaak streng: "ik zie een fout, en stop dus met de rest"; IE is toegeeflijker, stopt er bv. zelf een vergeten accolade tussen, en gaat vrolijk verder).
Ik neig naar 2 of 3, want als een browser zich zou veroorloven om bij keiharde berekeningen aantoonbaar foute uitkomsten te geven (die met handmatige berekening door de mand vallen), dan zou de betreffende browser toch wel zoveel protest-mailtjes gehad moeten hebben, dat ze de fout rap hersteld hebben.

En nu laat ik hier het woord weer aan de scriptologen! :)
CSShunter
 
Ik ging ervan uit dat javascript codes hetzelfde werden geïnterpreteerd in elke browser
Nou, was dat maar waar! Over het algemeen doen Firefox, Opera, Safari en Chrome hetzelfde. Internet Explorer is het lelijke eendje van de familie, die wilt alles anders.

Zoals csshunter ook al zei, het hoeft niet per se aan de code te liggen, maar aan de interpretatie ervan.

Als je dat wilt kan je je source posten of online zetten, en dan kijken we wel even! Maargoed, als je dat liever niet hebt, ook goed hoor :)



:thumb:
 
Als je dat wilt kan je je source posten of online zetten, en dan kijken we wel even!

Ik weet niet hoeveel uren tijd je hebt, maar dat zal echt veel tijd kosten. Bovendien moet je ook weten wat het programma precies moet doen.
Als ik het online zet kun je dan de javascript code zien?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan