Javascript连接元素,有问题

时间:2012-07-28 02:02:36

标签: javascript

我浪费了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 ");
        }    
    }
}

写作只是&#34;发现&#34;或&#34;没什么&#34;此脚本编写以下内容:

NothingNothingFoundNothing

(btw有4个插件):

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

修改 谢谢你们,现在它正在工作。

2 个答案:

答案 0 :(得分: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 "); 
    }
} 

答案 1 :(得分:0)

你正在印刷&#39; Java&#39;并且没有什么&#39;在循环内部,所以当它找到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 ");
}