テキストがフレーム(またはiframe)の1つに含まれる場合、HTML文書で選択したテキストを見つける方法はありますか?HTML文書でiframeまたは単なるフレームを含む選択を見つける方法
文書が、それは簡単です何のフレームを持っていない場合:
var text;
if (document.getSelection) {
// Firefox and friends
text = document.getSelection();
} else if (document.selection) {
// IE
text = document.selection.createRange();
}
if (text == undefined || text == '') {
// Iterate over all textarea elements and see if one of them has selection
var areas = document.getElementsByTagName('textarea');
for(var i = 0; i = areas.length; i++) {
if(areas[i].selectionStart != undefined &&
areas[i].selectionStart != areas[i].selectionEnd){
text = areas[i].value.substring(areas[i].selectionStart, a[i].selectionEnd);
break;
}
}
}
// Now if document has selected text, it's in text
だから、これはクロスブラウザ(ない非常にきれいなが)動作します。
問題は、ドキュメントにフレームまたはiframeが含まれている場合です。 フレームには独自のドキュメントがあるため、上記のコードを使用するだけでは十分ではありません。 フレームツリーを繰り返し処理し、その中の選択されたテキストを検索する可能性がありますが、一般的にフレームには異なるドメインのコンテンツが含まれる可能性があるため、すべてのフレームやルート文書のすべてのサブフレームなどを選択されたテキストの検索私はHTMLにアクセスする許可を持っていなかったでしょうか?だから私は選択されたテキストを手に入れることができません。
ページにフレームが含まれていても、選択したテキストをWebページに見つける信頼できる方法がありますか?
おかげ