40

テキストを選択できる Web ビューを使用するアプリがあります。UIWebView でブロック境界を越えてテキストを選択できないことは、長い間悩まされてきました。WKWebView は、構成のプロパティでこれを修正しているようです: selectionGranularity. 可能な値の 1 つは次のWKSelectionGranularityCharacterとおりです。

選択エンドポイントは、任意の文字境界に配置できます。

いいね!まさに私が必要とするもの。ただし、Web ビューでそれを設定すると、テキストをまったく選択できなくなることがよくあります。何が起こっている?他に設定する必要があるものはありますか?誰かがこれを理解しましたか?

更新:次のバグを把握しました。

  1. selectionGranularityに設定されたアプリに複数の WKWebView がある場合、最後に読み込まれたものWKSelectionGranularityCharacterだけがテキストを選択できます。これをバグ 18441138 として提出しました。

  2. bodyWKSelectionGranularityCharacter に設定されている WKWebView の HTML コンテンツ内の要素にクリック ハンドラーがアタッチされている場合、その要素内でselectionGranularityはテキスト選択が機能しません。これをバグ 18440833 として提出しました。

  3. アプリの別の場所で UITextView で編集モードに入った後、WKWebView がリロードされるまで、WKWebView でテキストの選択が失敗します。これをバグ 18468405 として提出しました。

誰かがこれらのいずれかを回避しましたか?

4

2 に答える 2

1

まだ修正されていない既知のバグがいくつかあります。

回避策として、JavaScript を実行して選択したテキストを取得できます。

window.getSelection().toString()

ドキュメント

于 2019-06-02T18:32:12.750 に答える