2

これはフォローアップの質問です。範囲を使用して iframe から選択したテキストを取得しようとしています。コードは iframe 以外のコンテンツに対して機能しているようです。rangy's docに従って、動作するはずです。

これがデモです:http://jsfiddle.net/codef0rmer/UuJ5G/

4

1 に答える 1

4

あなたの例の問題は、iframe のドキュメントがメイン ドキュメントとは異なるドメインからのものであることです。つまり、メイン ドキュメントで実行されているスクリプトは、iframe 内のドキュメントにアクセスできません。ブラウザーは、ドキュメントが同じドメインからのものである場合にのみ、ドキュメント間のスクリプトを許可します。

ドキュメントが同じドメインからのものである場合は、次を使用して選択を取得できますrangy.getIframeSelection()

http://jsfiddle.net/UuJ5G/42/

Rangy 1.3 では、rangy.getSelection()andに渡されるパラメーターの制限が緩和されていますrangy.createRange()。どちらも Window、Document、または要素のいずれかを受け入れる<iframe>ため、iframe を に渡すだけで済みrangy.getSelection()ます。

http://jsfiddle.net/2d6Bk/56/

于 2012-07-18T09:28:22.807 に答える