java - Android WebView 与 Javascript 调用行为异常

标签 java javascript android

我了解如何从我的 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/

相关文章:

javascript - 几秒钟后重新加载聊天的另一种方法

java - 如何在java,android中将sql日期格式化为Simpledateformat?

java - 需要帮助理解 java 中多线程时的内存可见性问题

java - 从 ExecutorService 更新 JProgressBar

java - 使用 SGML 解析 Java 字符串

java - 如何用Java中的Weka获取聚集记录的值?

javascript - map函数中setState的使用方法

javascript - 为什么 document.getElementById 返回的对象与 $ (".class").last().get() 不同?

android - gradle.properties 会在构建时被 Jenkins 环境变量覆盖吗?

android - 不同的滚动速度 Android