使用navigator.plugins确定Java版本

使用navigator.plugins确定Java版本,java,javascript,version,Java,Javascript,Version,下面的javascript代码将通知所有浏览器启用的插件(是的,我知道它在IE上不起作用,但对于IE,总是有部署Java): if((navigator.plugins)和&(navigator.plugins.length)){ for(var bb=0,l=navigator.plugins.length;bb

下面的javascript代码将通知所有浏览器启用的插件(是的,我知道它在IE上不起作用,但对于IE,总是有部署Java):

if((navigator.plugins)和&(navigator.plugins.length)){
for(var bb=0,l=navigator.plugins.length;bb”;
文件编写(vv);
}
}
我认为最简单(阅读:最黑)的解决方案如下:

var plugin_name = navigator.plugins[bb].name
if (plugin_name.toLowerCase().indexOf("java") != -1) {
    var parts = plugin_name.split(" ").reverse();
    // if the plugin has an update
    if(plugin_name.match(/U[0-9]+/)) {
        // grab the end of the plugin name and remove non numeric chars
        var update = parts[0].replace(/[^0-9]/, "");
        // grab the major version and remove non numeric chars
        var major = parts[1].replace(/[^0-9]/, "");
        // print the major number and update number
        console.log(major);
        console.log(update);
    } else {
        var update = "0";
        // grab the major version and remove non numeric chars
        var major = parts[0].replace(/[^0-9]/, "");
        // print the major number and update number
        console.log(major);
        console.log(update);
    }  
}

然后,您可以通过插件将此代码放入循环中,并将
控制台.log
替换为给定主要和更新编号的任何适当逻辑。

它就像一个符咒。。。只有一个例外。我安装了Java7(没有任何更新),插件名是:Java(TM)Platform SE7结果如何?您的代码打印了E.7。这个缺点可能会影响Java8(没有更新,即第一个版本)。“知道怎么修吗?”约翰。检查我的更新。我们检查是否存在更新;如果没有,我们打印0作为更新号。谢谢。我已经弄明白了,但是你的代码也在工作。