在网页中嵌套Applet

在网页上嵌套Applet,客户端要浏览就必须按照JRE,我们可以通过 JavaScript Applet 判断 JRE 的版本,并要求客户端去下载最新的JRE

1.
在网页中嵌套Applet

<APPLET CODE = "DetectPluginApplet" WIDTH = "0" HEIGHT = "0" NAME = "myApplet">
</APPLET>
通过HtmlConverter.exe 把上面的代码转换为:

<object
    classid = "clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
    codebase = "http://java.sun.com/update/1.6.0/jinstall-1_6_0-windows-i586.cab#Version=6,0,0,86"
    WIDTH = "0" HEIGHT = "0" NAME = "myApplet" >
    <PARAM NAME = CODE VALUE = "DetectPluginApplet" >
    <PARAM NAME = NAME VALUE = "myApplet" >
    <param name = "type" value = "application/x-java-applet;jpi-version=1.6">
    <param name = "scriptable" value = "false">

    <comment>
    <embed
            type = "application/x-java-applet;jpi-version=1.6" /
            CODE = "DetectPluginApplet" /
            NAME = "myApplet" /
            WIDTH = "0" /
            HEIGHT = "0"
        scriptable = false
        pluginspage = "http://java.sun.com/products/plugin/index.html#download">
        <noembed>
           
            </noembed>
    </embed>
    </comment>
</object>

要注意的是由于我使用的是javac 1.6.0-beta2,存在一个bug,也就是通过HtmlConverter转换的codebase 的地址不存在,我们要手动修改。
codebase = "http://java.sun.com/update/1.6.0/jinstall-1_6_0-windows-i586.cab#Version=6,0,0,86" 

codebase = "http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab"

你要是其他版本的可以参考:http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/autodl-files.html

2. javaScript
调用 applet
document.myApplet;
就可以javaScript 调用 applet

3. applet.htm

<HTML>
    <HEAD>
        <!-- Generated by Kawa IDE -->
        <TITLE>Detect Java Runtime </TITLE>
    </HEAD>

    <SCRIPT LANGUAGE="JavaScript">
        var browsername;
        function doNetscape()
        {
            for (i=0; i < navigator.plugins.length; i++)
            {
                for (j = 0; j < navigator.plugins.length; j++)
                {
                    if(navigator.plugins[j].type == "application/x-java-applet;version=1.6")
                    {
                        alert("You are running Netscape with Java Plugin 1.6.0 - OK");
                        return;
                    };
                }
            }

            alert("You are running Netscape/nPlease, install Java Runtime Environment 1.6.0");
        }

        function doMicrosoft()
        {

            var applet = document.myApplet;
            if(applet == null)
            {
                alert("You are running Microsoft Browser./nPlease, install Java Runtime Environment 1.6.0");
                return;
            };

            var version = applet.getJavaVersion();
            if(version == "1.6.0")
            {
                alert("You are running IE, Java Plugin 1.6.0 installed - OK");
            }
            else
            {
                alert("You are running IE, other plugin installed - mybe OK if later that 1.6.0/nYour version: " + version);
            };
        }

        function getJava()
        {
            var applet = document.myApplet;
            if(applet == null)
            {
                alert("Please, install Java Runtime Environment");
                return;
            };

            alert("JRE Version: " + document.myApplet.getJavaVersion());
        }

        function checkJavaPlugin()
        {
            browsername = navigator.appName;

            if(browsername.indexOf("Netscape")!= -1)
            {
                browsername="NS";
                doNetscape();
            }
            else
            {
                if(browsername.indexOf("Microsoft")!=-1)
                {
                    browsername="MSIE";
                    doMicrosoft();
                }
                else
                {
                    browsername="N/A";
                    alert("Unknown browser: " + browsername);
                }
            };
        }

    </SCRIPT>

    <body>

        <Strong>Check Java Plugin </strong>
        <object id="myApplet"
            classid = "clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
            codebase = "http://java.sun.com/update/1.6.0/jinstall-6-windows-i586.cab"
            WIDTH = "0" HEIGHT = "0" NAME = "myApplet" >
            <PARAM NAME = CODE VALUE = "DetectPluginApplet" >

            <PARAM NAME = NAME VALUE = "myApplet" >
            <param name = "type" value = "application/x-java-applet;jpi-version=1.6">
            <param name = "scriptable" value = "false">

            <comment>
            <embed
            type = "application/x-java-applet;jpi-version=1.6" /
            CODE = "DetectPluginApplet" /
            NAME = "myApplet" /
            WIDTH = "400" /
            HEIGHT = "320"
            scriptable = false
            pluginspage = "http://java.sun.com/products/plugin/index.html#download">
            <noembed>

            </noembed>
            </embed>
            </comment>
        </object>

        <FORM>
            <INPUT TYPE="button" value="Get Plugin Version in IE" onClick="getJava()">
            <INPUT TYPE="button" value="Check Java Plugin in NS and IE" onClick="javascript:checkJavaPlugin()">
        </FORM>

    </BODY>
</HTML>

4. DetectPluginApplet.java

import java.awt.*;
public class DetectPluginApplet extends java.applet.Applet
{
    public void init()
    {
        add(new Label("DetectPluginApplet"));
    }
    public String getJavaVersion()
    {
        return System.getProperty("java.version");
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值