0

iframe 内で選択したテキストを取得する必要があるプロジェクトに取り組んでいます。選択したテキスト自体が iframe 内で複数のスパンをまたぐことができます。テキスト自体を取得する必要はありませんが、どのスパンがテキストを横切ったかを知る必要があります。スパンには 1 からページの最後までの ID があるため、id 属性を介してすべてアクセスできます。必要なのは、選択したテキストが交差するスパンのすべての ID を取得することだけです。Google を見回しましたが、誰かを見つけられなかったようです同じ問題で

4

1 に答える 1

0

IE < 9 を除くすべての主要なブラウザーで機能する範囲内のノードを取得するための回答を次に示しますが、選択した範囲を自分で取得する必要があります。

https://stackoverflow.com/a/7931003

クロス ブラウザー ソリューションの場合、次のように私のRangyライブラリを使用できiframeます。

var sel = rangy.getIframeSelection(iframe);
if (sel.rangeCount > 0) {
    var range = sel.getRangeAt(0);
    var spans = range.getNodes([1], function(element) {
        return element.tagName.toLowerCase() == "span";
    });
    // spans is now an array of selected or partially selected <span>
    // elements. Spans inside other spans are not included.
}
于 2012-05-12T10:30:10.780 に答える