2017-10-13 21 views
9

Vì Firefox và Chrome đã chặn Java Plugin, deployjava.js của Oracle đã sử dụng một mẹo để phát hiện JRE - bằng cách sử dụng mảng navigator.mimeTypes và định vị các loại mime của Java bên trong.deploymentjava.js của Oracle không còn hoạt động trong Firefox/Chrome nữa. Tôi có thể làm gì nữa?

Nhưng Firefox không còn hiển thị navigator.mimeTypes nữa. Kể từ phiên bản 53 nó là một mảng trống.

Đối với Chrome, mảng vẫn có thể truy cập được nhưng không còn chứa các loại mime của Java nữa.

Tôi đã di chuyển các applet để sử dụng JNLP, nhưng tôi vẫn cần đảm bảo rằng máy khách có JRE phù hợp, nếu không người dùng cuối sẽ xem hộp thoại yêu cầu họ chọn ứng dụng để khởi chạy tệp .jnlp, và họ sẽ không biết phải làm gì.

Tôi có thể sử dụng phương pháp nào khác để xác minh JRE trên máy tính khách từ trang web của mình?

+1

Nếu bạn không tìm thấy bất kỳ cách nào tốt hơn, bạn có thể liên lạc từ applet đến javascript của bạn để nói rằng applet đang chạy. Từ Javascript, nếu sau một vài giây applet không truyền đạt, thì bạn có thể hiển thị một thông báo về nó "Bạn có thể chưa cài đặt JRE ..." –

+1

Tùy chọn khác là sử dụng CSS cho nó. Bạn có thể sử dụng vị trí: tuyệt đối để đưa phần tử nhúng của bạn xếp chồng lên trên một phần tử khác. Nếu applet tải, thì background sẽ mờ, vì vậy nó sẽ ẩn nội dung ở phía dưới, nếu nó không bao giờ tải, thì nó sẽ hiển thị nội dung ở phía sau. –

+1

@Roman Cortes Vâng, tôi nghĩ tôi sẽ kết thúc những gì bạn đã mô tả trong bình luận đầu tiên của mình. Trình duyệt 1, JDK 0. Nếu bạn đặt bình luận của bạn như một câu trả lời, tôi sẽ chấp nhận nó. –

Trả lời

1

Nếu bạn không tìm thấy bất kỳ cách nào tốt hơn, bạn có thể liên lạc từ applet đến javascript của bạn để nói rằng applet đang chạy. Từ Javascript, nếu sau vài giây applet không được truyền đạt, thì bạn có thể hiển thị thông báo về nó "Bạn có thể chưa cài đặt JRE ..."

Tùy chọn khác là sử dụng CSS cho nó. Bạn có thể sử dụng vị trí: tuyệt đối để đưa phần tử nhúng của bạn xếp chồng lên trên một phần tử khác. Nếu applet tải, thì background sẽ mờ, vì vậy nó sẽ ẩn nội dung ở phía dưới, nếu nó không bao giờ tải, thì nó sẽ hiển thị nội dung ở phía sau.

Các vấn đề liên quan