• 締切済み

IEにインストールされているか確認する方法

<script language="JavaScript"> var javawsInstalled = 0; var javaws142Installed=0; var javaws150Installed=0; var javaws160Installed = 0; isIE = "false"; if (navigator.mimeTypes && navigator.mimeTypes.length) { x = navigator.mimeTypes['application/x-java-jnlp-file']; if (x) { javawsInstalled = 1; javaws142Installed=1; javaws150Installed=1; javaws160Installed = 1; } }else { isIE = "true"; } </script> <script language="VBScript"> on error resume next If isIE = "true" Then If Not(IsObject(CreateObject("JavaWebStart.isInstalled"))) Then javawsInstalled = 0 Else javawsInstalled = 1 End If If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.4.2.0"))) Then javaws142Installed = 0 Else javaws142Installed = 1 End If If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.5.0.0"))) Then javaws150Installed = 0 Else javaws150Installed = 1 End If If Not(IsObject(CreateObject("JavaWebStart.isInstalled.1.6.0.0"))) Then javaws160Installed = 0 Else javaws160Installed = 1 End If End If </script> <script language="JavaScript"> /* Note that the logic below always launches the JNLP application *if the browser is Gecko based.This is because it is not possible *to detect MIME type application/x-java-jnlp-file on Gecko-based browsers. */ if (javawsInstalled || (navigator.userAgent.indexOf("Gecko") !=-1)) { document.write("<a href=http://test023.web.fc2.com/magalingclient.jnlp><ul><li></li></ul></a>"); } else { document.write("Java がインストールされていません。"); document.write("<a href=http://java.sun.com/PluginBrowserCheck?pass=http://test023.web.fc2.com/download.html&fail=http://java.sun.com/javase/downloads/ea.jsp>ここをクリック</a> "); document.write("すると、無料ダウンロードページへジャンプします。インストールが完了すると、アプリケーションが起動します。"); } </script> この記述で、IE8 では正常に表示されますが IE9では表示・アプリケーションの起動が正常にできません。 IE8 と IE9 では、記述(確認)方法が違うのか、そもそも IE9 に互換性が無いだけなのか理由をご存知の方ご教授願います。 

みんなの回答

回答No.2

>No.1 補足 それは確認する方法(提示されたコード)が悪いのではなく、実行の仕方(.jnlpの中身)が悪いのでは? または、セキュリティー設定で弾かれてませんか?

kame_kenji
質問者

補足

「ツール」→「インターネットオプション」→「セキュリティ」→インターネットの「レベルのカスタマイズ」→「スクリプト」でONに設定。 regsvr32 jscript.dll と regsvr32 vbscript.dll を実行済。 jnlp中身は <?xml version="1.0" encoding="UTF-8"?> <jnlp spec="1.0+" codebase="http://test023.web.fc2.com/" href="magalingclient.jnlp"> <information> <title>Magaling</title> <vendor>LOZADA</vendor> <homepage href="http://test023.web.fc2.com/"/> <description>LOZADA</description> <description kind="short">Java Web Start</description> <icon href="http://test023.web.fc2.com/img/ico.png"/> </information> <resources> <j2se version="1.6+"/> <jar href="saya.jar"/> </resources> <application-desc main-class="MagalingClient"/> </jnlp> 問題ありでしょうか?チンプンカンプンになってきました。

回答No.1

JAVAのバージョンまでを調べるのではなく、たんに実行できるかどうかを調べるだけなら navigator.javaEnabled() こういうのがありますが。 IE9についてはわかりません。 サポートしなくなると言うことは無いと思いますが。。。

kame_kenji
質問者

お礼

回答ありがとうございます。 IE9についてもう少し調べてみます。

kame_kenji
質問者

補足

作成したJavaアプリケーションを、Java Web Start で実行 させるためのスクリプトのつもりだったのですが、XPでIE8 の環境では正常に動作します。 Win7 でIE9だと表示もおかしく、JNLPファイルの読み込み もできなくなります。

関連するQ&A

専門家に質問してみよう