控制iOS Mobile Safari和/或UIWebView中的文本选择行为?

Joh*_*rug 13 html css mobile-safari uiwebview ios

我有一个包含多个段落的长HTML文档.当我尝试在iOS上的Mobile Safari或UIWebView中选择文本时,会发生以下情况:

  1. 首先,我在选择中获得了字符级精度. 在此输入图像描述
  2. 然后,当我选择更多时,精度下降到两行文本,最终到整个段落.没有办法在我想要的地方完全结束我的文本选择. 在此输入图像描述

当我将CSS contentEditable属性设置为时true,我保留了字符级精度,但键盘也显示出来,这当然是我不想要的.

有没有办法保留字符级别的选择精度,无论我选择的文本有多长?

Joh*_*rug 3

iOS 8WKWebView或许能够解决这个问题。WKWebViewConfiguration有一个名为 的属性selectionGranularity。评论写道:

用户可以在 Web 视图中交互选择内容的粒度级别。WKSelectionGranularity 中描述了可能的值。默认值为 WKSelectionGranularityDynamic。

两个可能值之一是WKSelectionGranularityCharacter。评论说:

选择端点可以放置在任何字符边界处。

我还没有尝试过,但听起来很有希望!

2015 年 7 月 6 日更新:看起来并不那么容易:WKWebView 中的文本选择:WKSelectionGranularityCharacter

2015 年 7 月 10 日更新:当您仔细研究 iOS Kindle 应用程序时,您会发现他们在 JavaScript 中重新实现了“本机”文本选择,因为他们无法使本机文本选择按照他们想要的方式运行。我很确定他们在决定重新实施之前一定已经尝试过其他所有方法。