Detect the browser/JVM type (deprecated)Tag(s): Environment DEPRECATED
This HowTo is obsolete. Check this one instead :
Detect browser type from an Applet
One way is to instanciate a known browser-specific method and catch the Exception if
not found
import java.applet.*; public class BrowserDetector extends Applet { public void init() { if ( isNetscape() ) System.out.println("This browser is a Netscape Browser."); if ( isMicrosoft() ) System.out.println("This browser is a Microsoft Browser."); } public static boolean isNetscape() { try { Class.forName("netscape.applet.MozillaAppletContext"); } catch (ClassNotFoundException e) { System.out.println("This browser is not a Netscape Browser."); return false; } return true; } public static boolean isMicrosoft() { try { Class.forName("com.ms.applet.GenericAppletContext"); } catch (ClassNotFoundException e) { System.out.println("This browser is not a Microsoft Browser."); return false; } return true; } }
String theBrowser = "APPLICATION"; String appletContext = getAppletContext().toString(); if (appletContext.startsWith("sun.applet.AppletViewer")) theBrowser = "APPLETVIEWER"; else if (appletContext.startsWith("netscape.applet.")) theBrowser = "NETSCAPE"; else if (appletContext.startsWith("com.ms.applet.")) theBrowser = "MICROSOFT"; else if (appletContext.startsWith("sunw.hotjava.tags.TagAppletPanel")) theBrowser = "HOTJAVA"; else if (appletContext.startsWith( "sun.plugin.navig.win32.AppletPlugin")) theBrowser = "NETSCAPEPLUGIN"; else if (appletContext.startsWith( "sun.plugin.ocx.ActiveXApplet")) theBrowser = "MICROSOFTPLUGIN; else if (appletContext.startsWith ( "sun.plugin.viewer.context.IExplorerAppletContext") theBrowser = "MICROSOFTPLUGINJRE1.4;
String theJVM = ""; String toolkit = Toolkit.getDefaultToolkit().toString(); if (theBrowser.equals("APPLICATION") { if (toolkit.startsWith( "sun.awt.windows.WToolkit")) theJVM = "JAVA"; else if (toolkit.startsWith( "com.ms.awt.WToolkit")) theJVM = "JVIEW"; }
<HTML></HTML><HEAD> <SCRIPT> function isBrowser(b,v) { browserOk = false; versionOk = false; browserOk = (navigator.appName.indexOf(b) != -1); versionOk = (v <= parseInt(navigator.appVersion)); return browserOk && versionOk; } archiveToBeUsed = "java102.jar"; if (isBrowser("Microsoft", 4)) { archiveToBeUsed = "ie4.jar"; } else { if isBrowser("Netscape", 4) { archiveToBeUsed = "n4.jar"; } } </SCRIPT></HEAD><BODY> <APPLET CODE ="MyApplet.class" HEIGHT=100 WIDTH=400 ARCHIVE=&{archiveToBeUsed}; > </APPLET> </BODY></HTML>