JSObject.call don';似乎无法使用Javascript名称空间
我有一个Java小程序,它使用Javascript对象中声明的一些Javascript函数 Javascript如下所示JSObject.call don';似乎无法使用Javascript名称空间,java,javascript,applet,jsobject,Java,Javascript,Applet,Jsobject,我有一个Java小程序,它使用Javascript对象中声明的一些Javascript函数 Javascript如下所示 var foo ={ bar: function( var) { //do stuff }}; 小程序在创建Javascript对象后加载。 如果我使用Javascript控制台,该函数是可调用的。我使用下面的调用 foo.bar.("something"); 我的小程序使用
var foo ={
bar: function( var) {
//do stuff
}};
小程序在创建Javascript对象后加载。
如果我使用Javascript控制台,该函数是可调用的。我使用下面的调用
foo.bar.("something");
我的小程序使用JSObject的调用方法
Object[] args = { "something" };
win.call("foo.bar", args);
这将导致一个异常
netscape.javascript.JSException: No such method "foo.bar" on JavaScript object
如果我使用JSObject的eval方法调用foo.bar,它就会工作。但我不想用eval
有没有办法让调用方法按预期工作,这样我就可以使用Javascript对象来构造代码?“如果我使用JSObject的eval方法调用foo.bar,它会工作。但我不想使用eval”。这似乎是一个愚蠢的限制。如果一个JS函数获得用户输入,eval解决方案就会出现问题。用户可以更改evals字符串的语法并执行代码。为了防止这种情况发生,我将不得不逃避输入,我希望避免这种额外的工作。