2013-05-14 83 views
0

我在我的Titanium應用程序中有一個webview,當我要求它檢查變量的類型時返回一個空字符串。這個練習的要點是弄清楚在一個頁面上是否存在一個函數,以不同的形式重新載入。Titanium Android webView evalJS不能很好地處理typeof

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

這工作正常的iOS,而事實上在Android中它工作在很多場合也是如此。然而在Android上,它有時會返回虛無,表示爲'未定義'。

PS:不,問題不在於在javascript字符串中包含'return'。鈦會爲你做到這一點,如果你也這樣做會導致錯誤。

回答

0

在這種情況下的解決方案被證明是:

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

不知何故evalJS可以得到typeof運算的工作,但如果符合的typeof開始沒有。

+0

錯誤的方法。 – Wytze 2013-05-14 12:15:39

0

Titanium的webView加載事件的問題在於,它經常引發過早。至少在Android上。當它發生得太早時,還沒有可以返回類型的「驗證」功能。

所以問題不在evalJS,它與加載事件的時間。

相關問題