【发布时间】:2015-06-30 16:53:49
【问题描述】:
我正在开发一个混合应用程序,并尝试根据在 webview 中执行的 javascript 函数的返回值在 webview 的 onOverrideUrlLoading 中返回 true 或 false
目前为止的示例代码。
//Have a boolean variable isExternalDomain;
//Added JavascriptInterface webView.addJavascriptInterface(this, "android");
public boolean onOverrideUrlLoading(final String url) {
WebView.loadUrl("javascript:android.onData('true')");
//I Tried inserting sleep, delay EG: Thread.sleep(200);
//I see the delay but still javascript executes last.
if(isExternalDomain) {
return true;
} else {
return false;
}
}
@JavascriptInterface public void onData(String value)
{
isExternalDomain = true;
}
所以我遇到的问题是 javascript 执行发生在 onOverrideUrlLoading 完成执行所有以 isExternalDomain 为 false 的行之后。我想让 onOverrideUrlLoading 根据 javascript 返回值返回 true 或 false。
【问题讨论】:
标签: android cordova webview android-webview cordova-plugins