Android 钛安卓webView evalJS不能很好地处理typeof

Android 钛安卓webView evalJS不能很好地处理typeof,android,webview,eval,appcelerator,titanium-mobile,Android,Webview,Eval,Appcelerator,Titanium Mobile,我的Tianium应用程序中有一个webview,当我要求它检查变量的类型时,它返回一个空字符串。本练习的重点是确定页面上是否存在以不同形式重新加载自身的函数 var hasAuth = self.registerView.evalJS("typeof authenticate;") 这在iOS中运行良好,事实上在安卓系统中,它在许多场合也能正常工作。但在Android上,它有时会返回虚无,表现为“未定义” PS:不,问题不是在javascript字符串中包含“return”。钛为您这样做,如

我的Tianium应用程序中有一个webview,当我要求它检查变量的类型时,它返回一个空字符串。本练习的重点是确定页面上是否存在以不同形式重新加载自身的函数

var hasAuth = self.registerView.evalJS("typeof authenticate;")
这在iOS中运行良好,事实上在安卓系统中,它在许多场合也能正常工作。但在Android上,它有时会返回虚无,表现为“未定义”


PS:不,问题不是在javascript字符串中包含“return”。钛为您这样做,如果您也这样做,它将导致错误。

这种情况下的解决方案是:

var hasAuth = self.registerView.evalJS("'' + typeof authenticate;")

evalJS可以让typeof工作,但如果行以typeof开头就不行了。

Tianium的webView加载事件的问题是它经常触发得太早。至少在安卓上是这样。当它触发得太早时,还没有可以返回其类型的“authenticate”函数

所以问题不在于evalJS,而在于加载事件的时间