1

IFrame 選択範囲内のテキストを選択するために rangy を使用していますが、この選択範囲を表示するために IFrame をスクロールする必要がある場合があります。IFrame を選択したテキストに自動的にスクロールすることは可能ですか?

4

1 に答える 1

3

選択のアンカー ノードを含む要素のメソッドを使用することもできますscrollIntoView()が、それはメイン ドキュメントと iframe をスクロールする可能性があり、たとえば、選択がテキスト ノードへの複数の行を開始する場合にも不正確になる可能性があります。

var sel = rangy.getSelection();
var anchorNode = sel.anchorNode;
if (anchorNode) {
    if (anchorNode.nodeType != 1) {
        anchorNode = anchorNode.parentNode;
    }
    anchorNode.scrollIntoView();
}

getBoundingClientRect()最新のブラウザーの範囲のメソッドを介して利用可能な選択範囲の境界矩形を使用し、iframe のドキュメントを手動でスクロールすることをお勧めします。ただし、これは普遍的にサポートされているわけではなく、ドキュメントではなくビューポートに関連しています。関連する質問と回答は次のとおりです。

https://stackoverflow.com/a/6847328/96100

于 2012-06-23T17:16:27.863 に答える