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つのプラグインがあります):

回答が 1 つだけになるようにするにはどうすればよいですか? 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 に答える