浏览器Java插件检测

时间:2009-03-20 18:11:49

标签: java javascript browser plugins cross-browser

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

3 个答案:

答案 0 :(得分:7)

java deployment toolkit


script src="http://java.com/js/deployJava.js"

if (deployJava.versionCheck('1.6'))
{ 
alert("1.6 installed")
} 

答案 1 :(得分:2)

您也可以考虑使用PluginDetect脚本。

答案 2 :(得分:0)

这不是您确切问题的答案,而是作为确定浏览器本身的解决方案。不要太苛刻,这是我前段时间写的旧代码。

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;
    }

}