0

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

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

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

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

4

2 回答 2

0

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

于 2012-07-20T09:07:26.003 回答
0

您只需要使用:

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

要掌握的困难部分实际上是构建 URL,因为您必须以一种或另一种方式转义一些东西。您可以通过在 JS 中使用单引号来减轻痛苦:

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

现在,您需要小心,arg1并且arg2(如果您想要更多,其他参数也是如此)要么不包含'(或者"如果您使用双引号语法),或者在您构建 URL 之前正确转义这些参数。

于 2012-07-23T09:10:29.830 回答