2017-10-13 3 views
9

Depuis que Firefox et Chrome ont bloqué Java Plugin, deployjava.js d'Oracle a utilisé une astuce pour détecter JRE - en utilisant le tableau navigator.mimeTypes et en localisant les types mime de Java à l'intérieur.deployjava.js d'Oracle n'est plus fonctionnel dans Firefox/Chrome. Que puis-je faire d'autre?

Mais Firefox n'expose plus navigator.mimeTypes. Depuis la version 53 c'est un tableau vide. Pour Chrome, la baie est toujours accessible mais ne contient plus les types MIME de Java. J'ai déjà migré mes applets vers JNLP, mais je dois toujours m'assurer que le client dispose d'un JRE approprié, sinon les utilisateurs finaux verront une boîte de dialogue leur demandant de choisir une application pour lancer le fichier .jnlp, et ils ne sauront pas quoi faire. Quelles autres méthodes puis-je utiliser pour vérifier JRE sur l'ordinateur client à partir de mon site Web?

+1

Si vous ne trouvez pas d'autre moyen, vous pouvez communiquer depuis l'applet vers votre javascript pour indiquer que l'applet est en cours d'exécution. De Javascript, si après quelques secondes l'applet n'a pas communiqué, alors vous pouvez montrer un message à ce sujet "Vous pourriez ne pas avoir JRE installé ..." –

+1

L'autre option consiste à utiliser CSS pour cela. Vous pouvez utiliser position: absolute pour placer la superposition d'éléments embed sur un autre élément. Si l'applet se charge, alors l'arrière-plan est opaque, donc il cachera le contenu en bas, s'il ne charge jamais, alors il montrera le contenu à l'arrière. –

+1

@Roman Cortes Oui, je pense que je vais finir par faire ce que vous avez décrit dans votre premier commentaire. Browser 1, JDK 0. Si vous mettez votre commentaire en réponse, je l'accepterai. –

Répondre

1

Si vous ne trouvez pas d'autre moyen, vous pouvez communiquer depuis l'applet vers votre javascript pour indiquer que l'applet est en cours d'exécution. De Javascript, si après quelques secondes l'applet n'a pas communiqué, alors vous pouvez montrer un message à ce sujet "Vous pourriez ne pas avoir JRE installé ..."

L'autre option consiste à employer CSS pour cela. Vous pouvez utiliser position: absolute pour placer la superposition d'éléments embed sur un autre élément. Si l'applet se charge, alors l'arrière-plan est opaque, donc il cachera le contenu en bas, s'il ne charge jamais, alors il montrera le contenu à l'arrière.