![](/img/trans.png)
[英]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.