2011-03-07 115 views

回答

17

下面將做到這一點在所有主要的瀏覽器,是this answer完全相同的副本:

function getSelectionHtml() { 
    var html = ""; 
    if (typeof window.getSelection != "undefined") { 
     var sel = window.getSelection(); 
     if (sel.rangeCount) { 
      var container = document.createElement("div"); 
      for (var i = 0, len = sel.rangeCount; i < len; ++i) { 
       container.appendChild(sel.getRangeAt(i).cloneContents()); 
      } 
      html = container.innerHTML; 
     } 
    } else if (typeof document.selection != "undefined") { 
     if (document.selection.type == "Text") { 
      html = document.selection.createRange().htmlText; 
     } 
    } 
    return html; 
} 
+0

太棒了,非常感謝! – Zebra 2011-03-07 17:38:20

+0

[與Tim的答案完全相同](http://stackoverflow.com/a/6668159/1269037)這個問題是重複的。 – 2015-06-01 15:17:46

+0

@DanDascalescu:你有沒有低估這個,因爲它複製了我的另一個問題的答案? – 2015-06-01 21:50:03