更新时间:2023-11-19 23:04:34
我对got2 = win.getMember("obj");
行感到困惑.似乎您期望该行获取foo
对象.据我了解,win.getMember("obj")
将为您提供DOM window
节点上不存在的obj
属性.例如,来自此页面:
I'm confused by the line got2 = win.getMember("obj");
. It seems like you're expecting that line to get the foo
object. As I understand it, win.getMember("obj")
will get you the obj
property on the DOM window
node, which doesn't exist. For example, from this page:
JSObject win = JSObject.getWindow(this);
JSObject doc = (JSObject) win.getMember("document");
JSObject loc = (JSObject) doc.getMember("location");
如果要获取foo
对象,据我所知,***的方法是制作一个可从Java小程序调用的JavaScript方法.
If you want to get the foo
object, the best way I'm aware of is to make a JavaScript method you can call from the Java applet.
JavaScript:
<script type="text/javascript">
var foo = {"one":1, "two":2};
function getFoo() { return foo; }
</script>
小程序:
import netscape.javascript.*;
JSObject win;
JSObject foo;
void setup(){
size(400,200,P2D);
background(255);
win = JSObject.getWindow(this); //gets the root JSObject
foo = (JSObject)win.call("getFoo", null);
}
void draw(){
if (mousePressed == true){
println(foo.getMember("one"));
}
}