【问题标题】:intercept javascript call拦截javascript调用
【发布时间】:2011-01-06 16:07:41
【问题描述】:

我在一个 android 开发项目中遇到了一个有趣的问题。我负责将公司的在线数据库连接到一个安卓应用程序。数据库调用了一个类似这样的 javascript。

<a href="javascript:foo(9.7);">9.7</a>

应用程序的请求是让 javascript 能够在应用程序上本地运行。我已经能够通过覆盖 onJsPrompt 方法来拦截脚本调用,但无法检索发送到 java 脚本以处理用户输入的值。

我可以在检索到数据后对其进行解析,但我不知道如何从网站获取实际调用脚本。

尝试了 getUrl 函数,但它返回的是我所在的页面而不是脚本调用。

任何帮助/输入将不胜感激。

【问题讨论】:

    标签: javascript android webkit


    【解决方案1】:

    原来我的错误非常简单。我为 onJsPrompt 创建了一个覆盖。部分原因是我的同事和上级做出了让步,我们还没有准备好发布具有我们想要的缓存量的版本,并且在覆盖结束时我没有发回用户输入所需的值看起来像这样

    final EditText input = new EditText(myApp);
                    prompt.setView(input);
    
                    prompt.setPositiveButton("Ok", new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int whichButton)
                        {
                            Editable value = input.getText();
                            result.confirm(value.toString());*
                        }
                    });
    

    我只是忘记将用户输入的值放回确认中。很烦人,但它现在已修复,并且具有我们目前所需的功能量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      • 2017-07-19
      相关资源
      最近更新 更多