从applet调用Javascript函数

时间:2012-07-20 08:44:31

标签: java javascript applet

我想做的就是从Applet调用一个javascript函数并传递多个变量,我只能用一个变量做这个,但我想用多个变量来做。

从applet调用Javascript函数并传递一个有效的变量:

  msg = "test";
    try {
        getAppletContext().showDocument
                (new URL("javascript:UpdateComputerDetails(\"" + msg + "\")"));
    }
    catch (MalformedURLException me) { }

如何将多个变量传递给此函数?

2 个答案:

答案 0 :(得分:0)

有liveconnect包,但我不知道它是如何跨浏览器的: http://docs.oracle.com/javase/tutorial/deployment/applet/invokingJavaScriptFromApplet.html

答案 1 :(得分:0)

您只想使用:

arg1 = "foo";
arg2 = "bar";
try {
    getAppletContext().showDocument
            (new URL("javascript:UpdateComputerDetails(\"" + arg1 + "\", \"" + arg2 + "\")"));
}
catch (MalformedURLException me) { }

掌握的难点实际上是构建URL,因为你必须以某种方式逃避某些东西。您可以通过在JS中使用单引号来缓解痛苦:

"javascript:UpdateComputerDetails('" + arg1 + "', '" + arg2 + "')"

现在,您需要注意arg1arg2(如果您还需要更多其他参数),请不要包含'(或{{1如果您使用双引号语法),或者在构建URL之前正确转义这些语法。