[thelist] the regular expression for detecting gecko browser later then Fx 1.0?

Zhang Weiwu zhangweiwu at realss.com
Fri Apr 28 03:56:47 CDT 2006


The application I am working on detects the current browser and, if certain
browser is not tested, give a warning message.

Currently tested browser is Firefox 1.0+ and IE 5.5+. But later I get
complaint because some users are using K-meleon and works fine, and they get
the warning message. Thus I realize I should not detect browser USER_AGENT
against Firefox, rather intead, I should detecte the gecko layout engin, if
the layout engin is later then the one used on Firefox 1.0, the system
should work without warning.

Thus I changed detection script to this (in php but easy to understand)

	if (ereg('Gecko\/([[:digit:]]+)', $_SERVER['HTTP_USER_AGENT'],
	$regs) && $regs[1] >= '20041124') /* if compatible */

Immediately I got complaint from another Debian user who also get warning
message because this is his USER AGENT:

 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.2) Gecko/Debian-1.5.dfsg+1.5.0.2-3 Firefox/1.5.0.2

So is there an universal way to detect if the gecko browser is supported? I
could for sure add some test like ereg('Gecko\/Debian-1') for debian, but
what if someone come up ask their firefox on yellowdog Linux, firefox on xxx
OS gives fault warning message?

Any suggestions?

Reference: gecko user-agent string
http://www.mozilla.org/build/revised-user-agent-strings.html

--
Zhang Weiwu   Real Softservice
International business: http://www.realss.com
International sales:    0086 10 84606011
Inland business:        http://www.realss.cn
Inland sales call:      0086 592 2099987
                Sent from Pine: http://www.washington.edu/pine/



More information about the thelist mailing list