代码之家  ›  专栏  ›  技术社区  ›  Nikola Yovchev

如何从javascript调用WebStart部署的applet函数?

  •  2
  • Nikola Yovchev  · 技术社区  · 14 年前

    我希望能够用JavaScript调用我的JNLP类的函数。让我们假设在我的applet中我有一个这样定义的函数: public String returnSomething(){ return "bla"; }

       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <!-- ########################## IMPORTANT NOTE ############################ -->
    <!-- This preview HTML page will work only with JDK 6 update 10 and higher! -->
    <!-- ###################################################################### -->
    <html>
        <head>
            <title>Test page for launching the applet via JNLP</title>
        </head>
        <body>
            <h3>Test page for launching the applet via JNLP</h3>
            <script src="http://java.com/js/deployJava.js"></script>
            <script>
                var attributes = {
                    code:       "winToJnaApi.NewApplet",
                    archive:    "JavaApplication6.jar, lib/jna.jar, lib/platform.jar",
                    width:      300,
                    height:     300,
                    name:       "applet",
                    id:         "app"
                };
                var parameters = {jnlp_href:"launch.jnlp"}; <!-- Applet Parameters -->
                var version = "1.5"; <!-- Required Java Version -->
                deployJava.runApplet(attributes, parameters, version);
            </script>
    
        <input type = "button" value ="click" onClick = "document.write(document.getElementById("app").doSomething())">
        <script type="text/javascript">
            document.write(document.getElementById("app"));
        </script>
        </body>
    </html>
    

    这是从javascript调用jnlp部署的applet函数的正确方法吗? 因为这个什么都不给我。

    2 回复  |  直到 13 年前
        1
  •  6
  •   Andrew Thompson    13 年前

    <applet id="appletToTest" width=500 height=500 code="com.sample.SampleApplet" archive="JavaApplication6.jar, lib/lib1.jar, lib/lib2.jar">
       <param name="jnlp_href" value="launch.jnlp">
     </applet>
    

    var parentAPPLET = document.getElementById("appletToTest");
    

    public String returnSomething(){ return "bla"; }
    

    var parentAPPLET = document.getElementById("appletToTest");
    alert (parentAPPLET.returnSomething()); 
    

        2
  •  1
  •   Andrew Thompson    14 年前