Ответ 1
Это несколько известных ошибок, которые до сих пор не исправлены.
Вы можете выполнить JavaScript, чтобы получить выделенный текст в качестве обходного пути.
window.getSelection().toString()
У меня есть приложение, которое использует веб-представление, где можно выделить текст. Давно раздражало, что вы не можете выделять текст за границей блока в UIWebView. WKWebView, кажется, исправляет это с помощью свойства в его конфигурации: selectionGranularity
. Одним из возможных значений является WKSelectionGranularityCharacter
:
Конечные точки выделения могут быть размещены на любой границе символа.
Звучит здорово! Именно то, что мне нужно. За исключением того, что когда я устанавливаю это в моем веб-представлении, я часто больше не могу выбирать текст вообще. Что здесь происходит? Есть ли что-то еще, что мне нужно установить? Кто-нибудь понял это?
Обновление: я обнаружил следующие ошибки:
Если в приложении имеется более одного WKWebView с параметром selectionGranularity
установлено значение WKSelectionGranularityCharacter
, текст может быть выбран только самым последним из них для загрузки. Я подал это как ошибку 18441138.
Если имеется обработчик щелчка, прикрепленный к элементу внутри body
в HTML-содержимом WKWebView, для которого selectionGranularity
присвоено значение WKSelectionGranularityCharacter, выделение текста внутри этого элемента не работает. Я подал это как ошибка 18440833.
Выбор текста не выполняется в WKWebView после того, как вы вошли в режим редактирования в UITextView где-то еще в приложении, пока WKWebView не перезагрузится. Я подал это как ошибка 18468405.
Кто-нибудь работал с любым из них?
Это несколько известных ошибок, которые до сих пор не исправлены.
Вы можете выполнить JavaScript, чтобы получить выделенный текст в качестве обходного пути.
window.getSelection().toString()