我想做的就是从Applet调用一个javascript函数并传递多个变量,我只能用一个变量做这个,但我想用多个变量来做。
从applet调用Javascript函数并传递一个有效的变量:
msg = "test";
try {
getAppletContext().showDocument
(new URL("javascript:UpdateComputerDetails(\"" + msg + "\")"));
}
catch (MalformedURLException me) { }
如何将多个变量传递给此函数?
答案 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 + "')"
现在,您需要注意arg1
和arg2
(如果您还需要更多其他参数),请不要包含'
(或{{1如果您使用双引号语法),或者在构建URL之前正确转义这些语法。