3

JavaアプレットをホストするASP.NETWebサイトがあります。Javaアプレットには、Javaランタイムのバージョン1.6Update11が必要です。

クライアントに適切なランタイムがインストールされていることを検出して、インストールされていない場合に有益なメッセージを表示できるようにするにはどうすればよいですか?

ありがとう、

カール。

編集:ソリューションはプラットフォームに依存しない必要があります。

4

12 に答える 12

11

このページでは、JavaScriptを使用してJavaを検出する方法といくつかのプラグインを一覧表示します。http ://www.pinlady.net/PluginDetect/JavaDetect.htm

それ以外に、このスニペットも試してみてください。

if (navigator.javaEnabled()) {
    //Java is enabled
}
于 2009-01-29T13:22:57.670 に答える
6

以下のリンクでは、Java アプリの展開のヒントについて詳しく説明しています。

http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html

リンク先より引用

デプロイメント ツールキット ブラウザの互換性の問題を回避するために、デプロイメント ツールキット ( deployJava.js ) には、アプレットおよび Java Web Start アプリケーションのデプロイに必要な HTML を自動的に生成する JavaScript 関数が用意されています。開発者は、これらの関数を呼び出して、さまざまなブラウザー間で一貫した方法でソリューションをデプロイする必要があります。

于 2009-02-11T19:42:32.673 に答える
1

はるかに古いバージョンを実行する必要がある基本的な Java アプレットを使用してもかまわない場合は、この記事を使用して、その結果に基づいて続行できます。

于 2009-02-12T20:00:16.003 に答える
0

これをチェックして

http://simple-java-detection-script.blogspot.com/2010/03/simple-browser-java-installed-or.html

于 2010-03-13T09:22:37.697 に答える
0
  1. deployJava.js関数 getJREs() を使用して、ユーザーの Java バージョンに応じて動的ページを構築します。

  2. http://cowwoc.blogspot.com/2008/12/tracking-java-versions-using-google.htmlを使用して、Google アナリティクスを使用して Web 訪問者が使用している Java のバージョンを追跡します。

  3. ボーナス ステップ:ステップ 1 の実装方法の例として、ステップ 2のソース コードを使用します。

于 2009-02-13T06:00:44.953 に答える
0

たぶん、このスクリプトが役立ちます。ただし、これは Windows のみです。

<script language='javascript' type='text/javascript'>
var javaVersion;
var shell;
try 
{
    // Create WSH(WindowsScriptHost) shell, available on Windows only
    shell = new ActiveXObject("WScript.Shell");

    if (shell != null) 
    {
        // Read JRE version from Window Registry
        try 
        {
            javaVersion = shell.regRead("HKEY_LOCAL_MACHINE\\Software\\JavaSoft\\Java Runtime Environment\\");
        } 
        catch(e) 
        {
            // handle exceptions raised by 'shell.regRead(...)' here
            // so that the outer try-catch block would receive only
            // exceptions raised by 'shell = new ActiveXObject(...)'
            alert('error reading registry');
        }
    } 
} 
catch(e) 
{
    // Creating ActiveX controls thru script is disabled 
    // in InternetExplorer security options 

    // To enable it: 
    // a. Go to the 'Tools --> Internet Options' menu
    // b. Select the 'Security' tab
    // c. Select zone (Internet/Intranet)
    // d. Click the 'Custom Level..' button which will display the
    // 'Security Settings' window.
    // e. Enable the option 'Initialize and script ActiveX controls
    // not marked as safe'

    activeXDisabled = true;
} 

// Check whether we got required (1.6) Java Plugin
if ( javaVersion != null && javaVersion.indexOf("1.6")) 
{
    pluginDetected = true;
    alert('it is installed!')
}

if (pluginDetected) 
{
    // show applet page
} 
else if (confirm("Java Plugin 1.6 not found")) 
{
    // show install page
    alert('not found')
} 
else 
{
    // show error page
    alet('error')
}
</script>
于 2009-02-09T16:21:16.267 に答える
0

ソリューションがプラットフォームに依存しない必要がある場合。JavaScript によって提供されるすべてのソリューションを除外します。

古いクラシック VM をサポートする非常に単純なアプレットを作成できます。アプレットに JRE のバージョンを検出させ、メッセージを表示させます。

Javascript を受け入れる場合は、WebStart アプリケーションの自動インストーラーに関するこの記事にも興味があるかもしれません。

于 2009-02-11T12:45:46.717 に答える
0

以下のリンクは、私がそれを機能させる方法でした。Java デプロイメント用に作成された JS を取得できます。リンクは上で述べましたが、それを使った例がいいと思いました。

これらは、問題を解決するために必要になったサンプルです。

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit

deployJava.js ファイルをダウンロードしたら、Java がインストールされていることを確認するために何かを配置できます。 if (deployJava.getJREs().length > 0) { //Your code to start java }

特定のバージョンがインストールされていることを確認します。 if (deployJava.versionCheck(version)) { //Your version specific code }

最新の Java のインストーラーを起動します。 deployJava.installLatestJava();

または、必要に応じて特定のバージョン: deployJava.installJRE(version);

于 2010-07-22T17:42:59.090 に答える
-1

コピーしてブラウザのアドレス バーに貼り付けて確認します。

javascript:alert(navigator.javaEnabled())

Mozilla (FF3) および IE7 で動作します。(x64)

于 2009-02-09T16:38:46.553 に答える