Получит первый iframe в текущем документе с непустым выбором. Если iframe из другого домена и, следовательно, недоступен для JavaScript, работающего в текущем документе, выбор не может быть получен, а iframe игнорируется.
function getSelectedText(win) {
var sel;
if (win.getSelection) {
return "" + win.getSelection();
} else if ( (sel = win.document.selection) ) {
if (sel.type == "Text") {
return sel.createRange().text;
}
}
return "";
}
function getIframeWithSelection(win) {
var iframes = win.document.getElementsByTagName("iframe");
for (var i = 0, len = iframes.length, selectedText; i < len; ++i) {
try {
selectedText = getSelectedText(iframes[i].contentWindow);
if (selectedText != "") {
// alert just there for debugging
alert(selectedText);
return iframes[i];
}
} catch (e) {}
}
return null;
}
// Example
var iframe = getIframeWithSelection(window);