【问题标题】:Browser Java Plugin Detection浏览器 Java 插件检测
【发布时间】:2010-10-14 14:49:00
【问题描述】:

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

【问题讨论】:

    标签: java javascript browser plugins cross-browser


    【解决方案1】:

    java deployment toolkit

    脚本 src="http://java.com/js/deployJava.js" if (deployJava.versionCheck('1.6')) { 警报(“已安装 1.6”) }

    【讨论】:

    • 这并不总是有效。 (1) 如果它在 Firefox 中被禁用,则表示未安装。 (2) 在 lion os x 上,即使在所有浏览器中禁用它,它也会告诉已安装
    【解决方案2】:

    你也可以考虑PluginDetect脚本。

    【讨论】:

    • 未签名的小程序
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      相关资源
      最近更新 更多