Как получить выделенный текст из iframe с помощью JavaScript? - PullRequest
3 голосов
/ 24 июля 2010

как получить выделенный текст из iframe с помощью javascript?

Ответы [ 2 ]

2 голосов
/ 24 июля 2010
var $ifx = $('<iframe src="filename.html" height=200 width=200></iframe>').appendTo(document.body);

$(document.body).bind('click', function(){
     var u_sel;
     if(window.getSelection){
        u_sel = ifx[0].contentWindow.getSelection();
      // u_sel.text()   InternetExplorer !!
      alert(u_sel);
     }
});

Это должно быть сделано, если iframe src нацелен на ваш собственный domain. Проверено только на FireFox 3.6.7.

0 голосов
/ 25 июля 2010
function getIframeSelectionText(iframe) {
  var win = iframe.contentWindow;
  var doc = iframe.contentDocument || win.document;

  if (win.getSelection) {
    return win.getSelection().toString();
  } else if (doc.selection && doc.selection.createRange) {
    return doc.selection.createRange().text;
  }
}

var iframe = document.getElementById("your_iframe");
alert(getIframeSelectionText(iframe));

Как отмечает jAndy, это будет работать только в том случае, если документ iframe обслуживается из того же домена, что и содержащий документ.

...