1

強調表示されたテキストとそれに付随する html コンテンツを取得しようとしているドキュメントがあります。window.getSelection() を使用してすべてが正常に機能していますが、特定の html コンテンツを抽出する必要があると、問題が発生し始めます。

強調表示されたテキストが他の html タグの途中で交差しているかどうかを判断しようとしていますが、html コンテンツを抽出するために見つけることができるすべての方法は、以前は存在しなかった html タグもドキュメントに追加しているようです。ネイティブ ドキュメントに対するユーザーの選択を知る必要があるため、これは問題です。誰もこの問題の回避策を知っていますか?

私は使ってみました

var sel = window.getSelection().getRangeAt(0)
sel.cloneContents()

そこから先に進みますが、イタリック体のノードの途中でテストすると、常に追加の html タグが返されます。

私もrangyライブラリを使ってみました

var sel = rangy.getSelection()
console.log(sel.toHtml())

しかし、それは同じ問題を返しました。documentFragment オブジェクトを返すメソッドは、選択したテキストについて仮定しているように見えるので、それを避ける必要があります。

誰かアイデアはありますか?私は困惑しています。ありがとう!

4

0 に答える 0