[英]Check for presence of Java function in applet from javascript in IE9
[英]Check javascript function is defined from java applet
我正在开发一个Java小程序,我在其中调用javascript函数:
boolean isAllowed = (boolean) win.eval("isPointMarkCreationAllowed()");
并且我想检查该函数是否存在 ,就像我们在javascript中所做的那样:
if (isPointMarkCreationAllowed == 'function')
反正用Java可以做到吗?
没有实际尝试过,就不会
win.eval("typeof isPointMarkCreationAllowed == 'function'");
确切地执行您想要的操作并返回一个布尔值(true或false)?
您可以使用反射来测试方法是否存在。
例如,如果您有一个对象foo,则可以通过以下方法获取该对象的类中声明的所有方法:
Method[] methods = foo.getClass().getMethods();
这将返回在类中声明的方法的数组。
然后只需使用for循环来检查返回的数组中是否存在特定方法
for (Method m : methods)
{
if (m.getName().equals(someString))
{
//do something
}
}
someString是您要查找的方法的名称,在您的情况下为“ isPointMarkCreationAllowed”。
使用以下站点来了解Java中的反射http://docs.oracle.com/javase/tutorial/reflect/member/methodType.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.