Listing 1

<!--- Browser id component --->
<CFCOMPONENT>

<!--- Is the browser IE? --->
<CFFUNCTION NAME="IsIE>

<!--- Init variable --->
<CFSET result="No">

<!--- Look for IE identifier --->
<CFIF FindNoCase("MSIE", CGI.HTTP_USER_AGENT)>
<!--- Yep, got it --->
<CFSET result="Yes">
</CFIF>

<!--- Return result --->
<CFRETURN result>

</CFFUNCTION>

</CFCOMPONENT>

Listing 2

<CFCOMPONENT>

<!--- Is the browser IE? --->
<CFFUNCTION NAME="IsIE"
RETURNTYPE="boolean"
HINT="Is browser Microsoft IE">

<!--- If no browser id passed, used current --->
<CFARGUMENT NAME="browser"
REQUIRED="no"
DEFAULT="#CGI.HTTP_USER_AGENT#"
HINT="Browser ID, defaults to CGI ID">

<!--- Init variable --->
<CFSET result="No">

<!--- Look for IE identifier --->
<CFIF FindNoCase("MSIE", browser)>
<!--- Yep, got it --->
<CFSET result="Yes">
</CFIF>

<!--- Return result --->
<CFRETURN result>

</CFFUNCTION>

<!--- Is the browser Netscape? --->
<CFFUNCTION NAME="IsNetscape"
RETURNTYPE="boolean"
HINT="Is browser Netscape">

<!--- If no browser id passed, used current --->
<CFARGUMENT NAME="browser"
REQUIRED="no"
DEFAULT="#CGI.HTTP_USER_AGENT#"
HINT="Browser ID, defaults to CGI ID">

<!--- Init variable --->
<CFSET result="No">

<!--- Look for Netscape identifier and no IE identifier --->
<CFIF FindNoCase("mozilla", browser)
AND NOT FindNoCase("MSIE", browser)>
<!--- Yep, got it --->
<CFSET result="Yes">
</CFIF>

<!--- Return result --->
<CFRETURN result>

</CFFUNCTION>

<!--- Is the browser Dreamweaver? --->
<CFFUNCTION NAME="IsDreamweaver"
RETURNTYPE="boolean"
HINT="Is browser Dreamweaver">

<!--- If no browser id passed, used current --->
<CFARGUMENT NAME="browser"
REQUIRED="no"
DEFAULT="#CGI.HTTP_USER_AGENT#"
HINT="Browser ID, defaults to CGI ID">

<!--- Init variable --->
<CFSET result="No">

<!--- Look for DW identifier --->
<CFIF FindNoCase("mmhttp", browser)>
<!--- Yep, got it --->
<CFSET result="Yes">
</CFIF>

<!--- Return result --->
<CFRETURN result>

</CFFUNCTION>

<!--- Identify a browser
Returns: IE - Internet Explorer
NS - Netscape
DW - Dreamweaver
Empty string is unknown
--->
<CFFUNCTION NAME="Identify"
RETURNTYPE="string"
HINT="Identify a browser">

<!--- If no browser id passed, used current --->
<CFARGUMENT NAME="browser"
REQUIRED="no"
DEFAULT="#CGI.HTTP_USER_AGENT#"
HINT="Browser ID, defaults to CGI ID">

<!--- Init variable --->
<CFSET result="">

<CFIF IsIE(browser)>
<CFSET result="IE">
<CFELSEIF IsNetscape(browser)>
<CFSET result="NS">
<CFELSEIF IsDreamweaver(browser)>
<CFSET result="DW">
</CFIF>

<!--- Return result --->
<CFRETURN result>

</CFFUNCTION>

</CFCOMPONENT>

Listing 3

<!--- Check for IE --->
<CFINVOKE COMPONENT="browser"
METHOD="IsIE"
RETURNVARIABLE="result_ie">

<!--- Check for Netscape --->
<CFINVOKE COMPONENT="browser"
METHOD="IsNetscape"
RETURNVARIABLE="result_ns">

<!--- Check for DW --->
<CFINVOKE COMPONENT="browser"
METHOD="IsDreamweaver"
RETURNVARIABLE="result_dw">

<!--- Identify browser --->
<CFINVOKE COMPONENT="browser"
METHOD="Identify"
RETURNVARIABLE="result_id">

<!--- Feedback --->
<CFOUTPUT>
Your browser is:<BR>
IE: #YesNoFormat(result_ie)#<BR>
NS: #YesNoFormat(result_ns)#<BR>
DW: #YesNoFormat(result_dw)#<BR>
ID: #result_id#<BR>
</CFOUTPUT>