2017-10-13 104 views
9

Od czasu zablokowania wtyczki Java przez przeglądarki Firefox i Chrome, wdrożona przez Oracle aplikacja deployjava.js wykorzystała sztuczkę do wykrywania środowiska JRE - za pomocą tablicy navigator.mimeTypes i znajdowania wewnątrz typów mime Java.Oracle deployjava.js nie działa już w Firefoksie/Chrome. Co jeszcze mogę zrobić?

Jednak Firefox nie ujawnia już navigator.mimeTypes. Od wersji 53 jest pustą tablicą.

W przeglądarce Chrome tablica jest nadal dostępna, ale nie zawiera już typów MIME Java.

Mam już migrowane moje aplety do używania JNLP, ale nadal muszę się upewnić, że klient ma odpowiednie środowisko JRE, w przeciwnym razie użytkownicy końcowi będą przeglądać okno dialogowe z prośbą o wybranie aplikacji do uruchomienia pliku .jnlp, i nie będą wiedzieli, co robić.

Jakie inne metody mogę użyć do weryfikacji JRE na komputerze klienckim z mojej strony internetowej?

+1

Jeśli nie znajdziesz innego lepszego sposobu, możesz komunikować się z apletu do javascript, aby powiedzieć, że aplet jest uruchomiony. Z Javascript, jeśli po kilku sekundach aplet się nie skomunikował, możesz wyświetlić komunikat na ten temat "Możesz nie mieć JRE zainstalowanego ..." –

+1

Inną opcją jest użycie CSS. Możesz użyć position: absolute, aby umieścić element embed na innym elemencie. Jeśli aplet się ładuje, tło jest nieprzezroczyste, więc ukryje zawartość na dole, jeśli nigdy się nie załaduje, wyświetli zawartość z tyłu. –

+1

@Roman Cortes Tak, myślę, że skończę robić to, co opisałeś w swoim pierwszym komentarzu. Przeglądarka 1, JDK 0. Jeśli umieścisz swój komentarz jako odpowiedź, zaakceptuję go. –

Odpowiedz

1

Jeśli nie znajdziesz innego lepszego sposobu, możesz przekazać z apletu do javascript, aby powiedzieć, że aplet jest uruchomiony. Z Javascript, jeśli po kilku sekundach aplet się nie skomunikował, możesz wyświetlić komunikat na ten temat "Możesz nie mieć JRE zainstalowanego ..."

Inną opcją jest użycie CSS. Możesz użyć position: absolute, aby umieścić element embed na innym elemencie. Jeśli aplet się ładuje, tło jest nieprzezroczyste, więc ukryje zawartość na dole, jeśli nigdy się nie załaduje, wyświetli zawartość z tyłu.