-1

How to get a selected text inside a iframe.

I my page i'm having a iframe which is editable true. So how can i get the selected text in that iframe.

Santhosh
  • 19,616
  • 22
  • 63
  • 74

3 Answers3

2

Ignore what I had wrote, it was garbage.

Here is the real deal:

var iframe= document.getElementById('yourFrameId');
var idoc= iframe.contentDocument || iframe.contentWindow.document; // For IE.
alert(idoc.getSelection());

The above was blatantly stolen from bobince's answer to this SO Question

Community
  • 1
  • 1
Dan McGrath
  • 41,220
  • 11
  • 99
  • 130
0

Im not sure exactly what you mean by selected text but this is how you access the contents of an iframe with jquery

$('#iFrameID').contents().find('#whatImLookingFor').text(getSelectedText());

function getSelectedText(){
    if(window.getSelection){
        return window.getSelection().toString();
    }
    else if(document.getSelection){
        return document.getSelection();
    }
    else if(document.selection){
        return document.selection.createRange().text;
    }
} 
a432511
  • 1,907
  • 4
  • 26
  • 48
0

Not sure what you mean by editable true for an iframe. May be it is a textfield or textarea. But if you really have an iframe and some text in it is selected then here is a code segment that should work on a number of browsers:

var iframe = document.getElementById("frame1");
var txt = "";
if (iframe.contentWindow.getSelection) {
    txt = iframe.contentWindow.getSelection();
} else if (iframe.contentWindow.document.getSelection) {
    txt = iframe.contentWindow.document.getSelection();
} else if (iframe.contentWindow.document.selection) {
    txt = iframe.contentWindow.document.selection.createRange().text;
}
Joy Dutta
  • 3,416
  • 1
  • 19
  • 19