我希望能够用javascript调用我的JNLP类的一个函数。让我们在我的小程序假设我有这样定义的函数:public String returnSomething(){ return "bla"; }
如何从JavaScript调用WebStart部署的applet函数?
<!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>
这是调用JNLP部署的小应用程序的功能从JavaScript的正确方法? 因为这个不给我任何东西。
对我来说就像一个不寻常的限制/安全考虑。如果真的如此,那么我将成为一只伤心的熊猫...... – 2010-10-30 09:39:44
我不认为它与安全有关。在预插件2个JRE中标准的小应用程序间通信也消失了。 – 2010-10-30 10:13:33
那么我该如何调用applet的功能呢?只有通过applet本身的控制?如果允许javascript与纯applet通信,它不应该也可以与通过Web Start部署的纯applet进行通信。 – 2010-10-30 11:59:43