2012-11-30 51 views

回答

3

這個問題已經被報告多次到Chromium項目:

前者是開放的,後者封閉,WontFix。

似乎是在社會一些不同的意見的價值應該返回什麼:

這不是真的清楚這裏的正確的行爲;它不是規範的一部分,並且對MDN中預期行爲的描述是非常特定於一個首選項,該首選項不僅在Chrome中不存在,而且甚至不再存在於Gecko中(因爲它已被替換爲通用能力

它看起來像鉻返回true基於這些條件來啓用和禁用任意插件):

注意,它明確表示,它指示的Java是否真正支持,只有pref的值。 因此,如果插件沒有安裝,因此沒有被用戶顯式禁用,那麼根據這些文檔,它應該實際返回true,而不是false。我們認爲已經安裝了一個插件,但完全禁用,就像沒有爲Web內容目的安裝插件一樣。

重點煤礦


因此,如果運行Java是真正把一個小程序在頁面上,看看你是否可以互動,我能想到的唯一的解決辦法來檢測與它來自JavaScript。

+0

我覺得這個API可以追溯到當時Netscape已經內置的Java支持。 –

0

我添加了鍍鉻的解決方法:

var isJavaEnabled = (function() { 
    if (!Ext.isChrome) { 
     return window.navigator.javaEnabled(); 
    } 

    // Chrome bug https://code.google.com/p/chromium/issues/detail?id=108957 
    // get all installed plugins 
    var plugins = Array.prototype.slice.call(window.navigator.plugins, 0); 
    // looking for Java 
    return plugins.some(function(plugin) { 
     return plugin && String(plugin.name).toLowerCase().indexOf("java") > -1; 
    }); 
})(); 
+0

'Ext'從哪裏來? – bfontaine

+1

如果您使用的是ExtJS庫。 – dimas

相關問題