2016-08-22 80 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') 

}