0

変数の型を確認するように依頼すると、空の文字列を返す Titanium アプリに webview があります。この演習のポイントは、さまざまな形式でそれ自体をリロードする機能がページに存在するかどうかを判断することです。

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

これは iOS で問題なく機能し、実際には Android でも多くの場合に機能します。しかし、Android では、「未定義」として表される何も返さないことがあります。

PS: いいえ、問題は JavaScript 文字列に「return」を含めることではありません。Titanium はそれを行いますが、あなたも行うとエラーが発生します。

4

2 に答える 2

0

Titanium の webView ロード イベントの問題は、起動が早すぎることが多いことです。少なくともAndroidでは。起動が早すぎると、タイプを返すことができる「認証」関数がまだありません。

したがって、問題は evalJS ではなく、load イベントのタイミングにあります。

于 2013-05-14T12:17:26.737 に答える
0

この場合の解決策は次のようになります。

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

どういうわけか evalJS は typeof を機能させることができますが、行が typeof で始まる場合は機能しません。

于 2013-05-14T11:35:35.573 に答える