我了解如何从我的 WebView 调用 Javascript,这不是问题。
if(javascriptCall!=null){
String hardCodedexample = "1959602";
webView.loadUrl("http://myappexample+ username);
webView.loadUrl("javascript:" + "window.application.relocateTo({location:'patients/details',params:{EMPIID:"+ hardCodedEMPIID +"}})");
}
javascriptCall 是一个传递给我的 webview Activity 的字符串。 HardCodedEMPIID 只是我们测试的一个示例。我的问题是,当我允许应用程序在设备上正常运行时,我的 javascript 方法似乎不起作用。它加载了 myappexample,但我无法判断我的 javascript 调用发生了什么。
当我调试应用程序并单步执行代码时,它会正确调用该方法。我很困惑这怎么可能?单步执行和普通执行的区别。
最佳答案
您应该等待 WebViewClient
调用的 onPageFinished(WebView view, String url)
事件 ( http://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished(android.webkit.WebView, java.lang.String) ) 。调用 loadUrl
后,可能不会立即加载包含您的函数的 JavaScript 文件。
关于java - Android WebView 与 Javascript 调用行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294626/