如何让WebView中的可编辑div正常运行?

时间:2014-03-25 12:39:51

标签: android html android-webview

我有一个WebView,其html页面包含一个可编辑的div。在果冻豆上,一切都很好。然而,在冰淇淋三明治上,我看到以下内容: -

  1. 聚焦时,div有一个棕色边框
  2. 键入时,当我触摸Enter键时,会发生以下情况
    1. 我得到一个双音频,即。我按下了按键,然后是触摸事件的ping
    2. div闪烁棕色
    3. 屏幕键盘消失
  3. 我可以长按以调用选择/剪切/复制模式。无论我做什么,我都无法显示粘贴按钮
  4. 我发现如果我在可编辑的div外部触摸,这样div失去焦点而棕色边框消失,我可以继续输入div,现在,按Enter键按预期工作。
  5. 由于所有这一切在Jelly Bean上运作良好,我猜它是一个ICS问题。但是,由于我需要支持ICS,我正在寻找解决此问题的任何建议。

    代码中没什么了不起的......

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.setWebChromeClient(new WebChromeClient());
    webView.addJavascriptInterface(javascriptObject, "injectedObject");
    webView.loadUrl("file:///android_asset/web/pageWithEditableDiv.html");
    webView.setFocusable(true);
    

1 个答案:

答案 0 :(得分:0)

您是否已查看BTAndroidWebViewSelection library

它似乎解决了你遇到的确切问题。

根据文档,您只需将以下导入添加到HTML页面:

<script src='jquery.js'></script>
<script src='rangy-core.js'></script>
<script src='rangy-serializer.js'></script>
<script src='android.selection.js'></script>

可以从here下载所有脚本。