使用Rangy从IFRAME中获取所选文本

时间:2012-05-08 13:39:22

标签: javascript asp.net rangy

我正在尝试使用此功能使用Rangy获取Iframe的选定文本;

function getSelectedText() {
   var iframe = document.getElementById("CustomeHTMLViewer");
   var iframeWin = iframe.contentDocument ? iframe.contentDocument.defaultView : iframe.contentWindow;
   var sel = rangy.getSelection(iframeWin);
   return sel;
}

此代码无效;如何获取Iframe的选定文本?

1 个答案:

答案 0 :(得分:1)

Rangy有一个方便的方法:rangy.getIframeSelection()。例如:

var iframe = document.getElementById("CustomeHTMLViewer");
var sel = rangy.getIframeSelection(iframe);

要获取所选文字,请在选择中调用toString()

var selectedText = sel.toString();
alert(selectedText);

Rangy允许将iframe元素直接传递到rangy.getSelection()

说了这么多,原始代码似乎没有任何问题。