Gibt es eine Möglichkeit, den ausgewählten Text in einem HTML-Dokument zu finden, wenn sich der Text in einem seiner Frames (oder Iframes) befindet?So finden Sie eine Auswahl in einem HTML-Dokument, das iframe oder nur Frames enthält
Wenn das Dokument keine Frames hat es einfach:
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
So funktioniert die Cross-Browser (wenn auch nicht sehr hübsch).
Das Problem liegt vor, wenn das Dokument Frames oder Iframes enthält. Frames haben ein eigenes Dokument, also reicht es nicht, den obigen Code zu verwenden. Man könnte möglicherweise über die Frames-Struktur iterieren und in einem von ihnen nach ausgewähltem Text suchen, aber im Allgemeinen können Frames Inhalte von verschiedenen Domains haben, selbst wenn ich über alle Frames und über alle Subframes usw. des Root-Dokuments in iterieren würde Suche nach ausgewähltem Text Ich hätte nicht die Erlaubnis gehabt, auf ihren HTML zuzugreifen, oder? Ich wäre also nicht in der Lage, den ausgewählten Text zu bekommen.
Gibt es eine (einfache) zuverlässige Möglichkeit, den ausgewählten Text auf einer Webseite zu finden, selbst wenn die Seite Frames enthält?
Dank