【问题标题】:WebView JavaScript Bridge DocumentationWebView JavaScript 桥文档
【发布时间】:2011-02-07 22:56:05
【问题描述】:

是否有任何关于 WebView JavaScript Bridge 的文档?我正在寻找描述“JavascriptInterface”中定义的方法的功能和支持的数据类型的文档。

例如,如果我定义以下内容:

public class JavaScriptInterface {

    public int incrementNumber(int num) {
       return num + 1;

}

如果我从 JavaScript 中调用此方法并在模拟器中运行它,一切似乎都正常。如果我在 NexusOne 上运行它,传入的“num”参数始终为“0”。

如果我将以上内容更改为:

 public class JavaScriptInterface {

    public int incrementNumber(String num) {
       // Leaving out try/catch
       int tempNum = newRadius = Integer.parseInt(num);
       return tempNum + 1;

}

...一切似乎都正常。所以我想知道 JavaScriptInterface 方法参数是否应该/只能是 String 类型?

相关资源: http://developer.android.com/reference/android/webkit/WebView.html http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, java.lang.String) http://code.google.com/apis/maps/articles/android_v3.html

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    您可以在 Java 端要求 String args 或在 JavaScript 端确保数字是实际数字(而不是数字的文本版本 - 请参阅 about.com - JavaScript: Strings to Numbers)。

    【讨论】:

    • 感谢您提供的信息。但是是否有文档概述了可以传递给 JavaScriptInterface 方法的受支持数据类型以及受支持的返回类型。
    • 从未见过任何此类文档。基本数据类型是我见过的工作 - 数字和字符串。
    【解决方案2】:

    唯一相关的官方文档在这里: http://developer.android.com/guide/webapps/webview.html 但没有关于可用类型的描述

    【讨论】:

      猜你喜欢
      • 2011-11-29
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      相关资源
      最近更新 更多