2017-10-13 61 views
9

由於Firefox和Chrome阻止了Java插件,因此Oracle的deployjava.js使用了一種技巧來檢測JRE - 通過使用navigator.mimeTypes數組並在其中查找Java的MIME類型。但是,Firefox不再公開navigator.mimeTypes。從版本53開始,它是一個空數組。Oracle的deployjava.js不再適用於Firefox/Chrome。我還可以做些什麼?

對於Chrome,數組仍可訪問,但不再包含Java的MIME類型。

我已經將我的applets遷移到使用JNLP,但我仍然需要確保客戶端有合適的JRE,否則最終用戶將會看到一個對話框,要求他們選擇一個應用程序來啓動.jnlp文件,他們不知道該怎麼做。

還有什麼其他方法可用於從我的網站驗證客戶端計算機上的JRE?

+1

如果你沒有找到其他更好的方法,你可能會從小應用程序通知你的JavaScript,說小程序正在運行。從Javascript中,如果幾秒鐘後applet沒有通信,那麼你可以顯示一條消息「你可能沒有安裝JRE ......」 – 2017-10-23 14:29:15

+1

其他選項是使用CSS。您可以使用position:absolute將您的嵌入元素分層放置在其他元素的頂部。如果applet加載,那麼背景是不透明的,所以它會隱藏底部的內容,如果它從不加載,那麼它會在後面顯示內容。 – 2017-10-23 14:35:36

+1

@羅曼科爾特斯是的,我想我最終會做你在你的第一評論中描述的。瀏覽器1,JDK 0.如果你把你的評論作爲答案,我會接受它。 –

回答

1

如果您沒有找到其他更好的方法,您可能會從小應用程序與您的javascript進行通信以表示該小應用程序正在運行。從Javascript開始,如果幾秒鐘後applet沒有通信,那麼你可以顯示一條消息:「你可能沒有安裝JRE ...」

其他選項是使用CSS。您可以使用position:absolute將您的嵌入元素分層放置在其他元素的頂部。如果applet加載,那麼背景是不透明的,所以它會隱藏底部的內容,如果它從不加載,那麼它會在後面顯示內容。

相關問題