0

我浪费了 4 个小时的搜索和尝试,但没有运气。

if ((navigator.plugins) && (navigator.plugins.length)) {
    for (var xx = 0, l = navigator.plugins.length; xx < l; xx++) {    
        var tn = navigator.plugins[xx].name;    
        if (tn.indexOf("Java") != -1) {
            document.write("Found ");
        } 
        else {
            document.write("Nothing ");
        }    
    }
}

这个脚本不是只写“Found”或“Nothing”,而是写了以下内容:

NothingNothingFoundNothing

(顺便说一句,有4个插件):

我该如何解决这个问题,以便我只收到一个答案?我不想要其他方法来查找是否安装了 Java,只是上面的方法但可以工作。

编辑: 谢谢你们,现在它正在工作。

4

2 回答 2

1
if ((navigator.plugins) && (navigator.plugins.length)) { 
    var found = false;
    for (var xx = 0, l = navigator.plugins.length; xx < l; xx++) { 

        var tn = navigator.plugins[xx].name; 

        if (tn.indexOf("Java(TM)") { 
           found = true;
        } 

    } 
    if(found) { 
        document.write("Java "); 
    } else { 
        document.write("Nothing "); 
    }
} 
于 2012-07-28T02:06:02.347 回答
0

你在循环内打印'Java'和'Nothing',所以当它找到java时它会打印java,当它没有找到java时,它什么也不打印。试试这个:

var javafound = false;
if ((navigator.plugins) && (navigator.plugins.length)) {
  for (var xx = 0, l = navigator.plugins.length; xx < l; xx++) {
    var tn = navigator.plugins[xx].name;

    if (tn.indexOf("Java(TM)") {
      javafound = true;
    } else {
      javafound = false;
    }

  }
}

if (javafound) {
  document.write("Java ");
} else {
  document.write("Nothing ");
}
于 2012-07-28T02:13:43.107 回答