代码之家  ›  专栏  ›  技术社区  ›  ghempton

浏览器Java插件检测

  •  5
  • ghempton  · 技术社区  · 15 年前

    确定Sun Java插件是否安装在浏览器中的首选方法是什么?

    3 回复  |  直到 10 年前
        1
  •  7
  •   l_39217_l    15 年前

    java deployment toolkit

    script src="http://java.com/js/deployJava.js"
    
    if (deployJava.versionCheck('1.6'))
    { 
    alert("1.6 installed")
    } 
    
    
        2
  •  2
  •   Vlad Grigorov    13 年前

    你也可以考虑 PluginDetect 脚本。

        3
  •  0
  •   Paul Gregoire    15 年前

    这不是您的确切问题的答案,而是作为确定浏览器本身的解决方案提供的。不要太苛刻,这是我几天前写的很老的代码。

    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.");
            }
            System.out.println("VM Type: " + getVMType());
        }
    
        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;
        }
    
        public String getVMType() {
            String theBrowser = "No VM";
            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";
    
            return theBrowser;
        }
    
    }