# # Browser Sensitive Fragment # Ken Wronkiewicz # # Version 1.00 - Inital release - Ken Wronkiewicz # Version 1.10 - Updated version with more browsers - Ken # Wronkiewicz # Version 1.20 - Updated version with more browsers and properties - Ken Wronkiewicz # # Docs on http://www.wirewd.com/wh/cgi.html # # Explination of variables # $Graph : # 0 = Text only # 1 = Graphics # 2 = Supports the ALIGN directive # 3 = Supports the PNG format # $Ext : # 0 = HTML 2.0 # 1 = Netscape 2.0 level extensions # 2 = Netscape 3.0 / MSIE 2.0 level extensions # 3 = Netscape 4.0 level extensions # $Tables : # 0 = No tables # 1 = HTML 3.0 tables # 2 = Netscape 1.1 tables with size directives # 3 = Netscape 3.0 / MSIE 2.0 tables with BGCOLOR # $Js : # 0 = No Javascript # 1 = JavaScript 1.0 / JScript 1.0 # 2 = JavaScript 1.1 # 3 = JavaScript 1.2 # $Java : # 0 = No Java # 1 = JDK 1.0 # 2 = JDK 1.1 # $Active : # 0 = No ActiveX # 1 = ActiveX # $Frames : # 0 = No frames # 1 = Netscape 2.0 # 2 = Netscape 3.0 / MSIE 3.0 # $Style : # 0 = No style sheets # 1 = CSS1 # 2 = CSS1 + Absolute Positioning # 3 = CSS1 + Absolute Positioning + JSSS # Grab CGI variable $Agent = $ENV{'HTTP_USER_AGENT'}; # Set Default values $Graph = 1; $Ext = 0; $Tables = 0; $Js = 0; $Frames = 0; $Active = 0; $Style = 0; $Java = 0; #Detect the browser CHECK: { if ($Agent =~ /MSIE 2./i) { $Graph = 2; $Ext = 2; $Tables = 3; last CHECK; } if ($Agent =~ /MSIE 3./i) { $Graph = 2; $Ext = 2; $Tables = 3; $Js = 1; $Frames = 2; $Active = 1; $Style = 1; $Java = 1; last CHECK; } if ($Agent =~ /MSIE 4./i { $Graph = 3; $Ext = 2; $Tables = 3; $Js = 1; $Frames = 2; $Active = 1; $Style = 2; $Java = 1; last CHECK; } if ($Agent =~ /AOL-IWENG 3.0/i) { $Graph = 2; $Ext = 2; $Tables = 2; $Frames = 1; last CHECK; } if ($Agent =~ /Opera/i) { $Graph = 2; $Ext = 1; $Tables = 2; $Frames = 1; last CHECK; } # Add more Internet Explorers and netscape-alikes here if ($Agent =~ /Mozilla/1.*/i) { $Graph = 2; $Ext = 1; $Tables = 2; last CHECK; } if ($Agent =~ /Mozilla/2.*/i) { $Graph = 2; $Ext = 1; $Tables = 2; $Js = 1; $Frames = 1; $Java = 1; last CHECK; } if ($Agent =~ /Mozilla/3.*/i) { $Graph = 2; $Ext = 2; $Tables = 3; $Js = 2; $Frames = 2; $Java = 1; last CHECK; } if ($Agent =~ /Mozilla/4.*/i) { $Graph = 3; $Ext = 3; $Tables = 2; $Js = 3; $Frames = 2; $Java = 2; $Style = 3; last CHECK; } # Add more Netscape versions here if ($Agent =~ /Mozilla/i) { $Graph = 2; $Ext = 3; $Tables = 2; $Js = 3; $Frames = 2; $Active = 1; last CHECK; } #Netscape Catch-all if ($Agent =~ /NCSA Mosaic/i) { $Graph = 1; $Ext = 0; $Tables = 1; last CHECK; } if ($Agent =~ /Lynx/i) { $Graph = 0; $Ext = 0; $Tables = 0; last CHECK; } if ($Agent =~ /CERN-LineMode/i) { $Graph = 0; $Ext = 0; $Tables = 0; last CHECK; } if ($Agent =~ /W3CLineMode/i) { $Graph = 0; $Ext = 0; $Tables = 0; last CHECK;} if ($Agent =~ /Microsoft Internet Explorer/i) { $Graph = 2; $Ext = 1; $Tables = 1; last CHECK;} if ($Agent =~ /Cyberdog/i) { $Graph = 2; $Ext = 1; $Tables = 2; last CHECK;} if ($Agent =~ /MacWeb/i) { $Graph = 1; $Ext = 0; $Tables = 0; last CHECK;} if ($Agent =~ /aolbrowser/i) { $Graph = 1; $Ext = 0; $Tables = 1; last CHECK; } if ($Agent =~ /IWENG/i) { $Graph = 1; $Ext = 0; $Tables = 1; last CHECK; } # Add new browsers here }