2016-08-22 79 views
1

我想要在iframe设计模式下获取所选内容。我正在使用以下代码。getSelection不能在图像上工作

function getIframeSelectionText(iframe) { 
    var win = iframe.contentWindow; 
    var doc = iframe.contentDocument || win.document; 

    if (win.getSelection) { 

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

我能够得到的文字我无法得到也被选中的图像。请帮忙。

回答

1

您可以使用Range Object以实现:

function getImg(iframe) { 
    var win = iframe.contentWindow; 
    var doc = iframe.contentDocument || win.document; 

    // get Range object 
    var range = win.getSelection().getRangeAt(0) 

    // now you get a copy of the nodes that been selected 
    var fragment = range.cloneContents() 

    // now you can do whatever you want with fragment, 
    // such as find img element 
    var imgs = fragment.querySelectorAll('img') 

}