从小程序调用Javascript函数

Calling a Javascript function from an applet

本文关键字:Javascript 函数 调用 程序      更新时间:2023-12-31

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

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

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

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

有liveconnect包,但我不知道它在跨浏览器方面做得有多好:http://docs.oracle.com/javase/tutorial/deployment/applet/invokingJavaScriptFromApplet.html

您只需要使用:

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

最难掌握的部分实际上是构建URL,因为你必须以这样或那样的方式逃离一些东西。你可以通过在JS:中使用单引号来减轻痛苦

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

现在,您需要注意的是,arg1arg2(如果您想要更多,其他参数也不包含)要么不包含'(如果您使用双引号语法,则不包括"),要么在构建URL之前对它们进行了正确的转义。