【问题标题】:Missing focus cursor on input field hybrid android cordova webview输入字段混合android cordova webview上缺少焦点光标
【发布时间】:2015-06-23 18:48:22
【问题描述】:

我们有带有 Cordova 的 android 混合应用程序,正在使用 Cordova webview 创建自定义 inappbrowser 以显示内容。在 Android lollipop 设备中,当用户选择输入字段时,键盘会弹出,用户可以输入测试,但输入字段中没有光标。这在棒棒糖前不会发生。我尝试了以下选项,这种情况也偶尔发生,我有时会集中注意力,但大多数时候它不起作用

inAppWebView.getSettings().setJavaScriptEnabled(true);
inAppWebView.requestFocus(View.FOCUSABLES_TOUCH_MODE);

inAppWebView.requestFocus(View.FOCUSABLES_ALL);

inAppWebView.requestFocus(View.FOCUS_DOWN);

inAppWebView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                        case MotionEvent.ACTION_UP:
                            if (!v.hasFocus()) {
                                v.requestFocus();
                            }
                            break;
                    }
                    return false;
                }
            });

有什么建议吗?

【问题讨论】:

  • 这里也一样。有趣的是,这只发生在我们的 Cordova 应用程序中,当我们从手机上的浏览器访问相同的源时,它工作得很好并且出现了插入符号。

标签: android cordova webview


【解决方案1】:

虽然现在可能有些过时,但可以在https://issues.apache.org/jira/browse/CB-11248找到解决方案

基本上你需要把onPageFinished改成

public void onPageFinished(WebView view, String url) {
  super.onPageFinished(view, url);
  view.clearFocus();
  view.requestFocus();

}

【讨论】:

  • 1.6.4版本问题依然存在
  • 它工作到现在。
【解决方案2】:

经过相当多的思考和努力查看回购历史,我们终于确定并修复了它。

在初始化插件时,我们确实在 WebView 上执行了一些 javascript。我们正在使用 'evaluateJavascript' 来执行 javascript(这确实适用于 Lollipop,而不是 KitKat 顺便说一句),但不知何故会产生使插入符号消失的副作用。改用 'loadUrl' 后,它确实再次起作用。

在 javascript 中,我们确实向窗口添加了一个自定义属性 (HD_APP),因此不会导致这样的副作用。正如您在屏幕截图中看到的那样,输入不再被 css 识别为“:focus”。

希望这会有所帮助..

【讨论】:

    【解决方案3】:

    对我来说造成问题的原因是我在加载任何页面之前调用了evaluateJavascript

    在我确定我的页面在发送任何内容之前已为 JS 准备好之后,问题就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      相关资源
      最近更新 更多