window.getSelection 返回 html [重复]

Posted

技术标签:

【中文标题】window.getSelection 返回 html [重复]【英文标题】:window.getSelection return html [duplicate] 【发布时间】:2011-07-10 12:25:59 【问题描述】:
function selected() 
   var selObj = window.getSelection();

此函数从网页返回选定的文本。如何返回选定区域的 html。这可能与<img><a> 标签有关吗?

以下是函数列表:https://developer.mozilla.org/Special:Tags?tag=DOM&language=en

【问题讨论】:

还有***.com/questions/4652734/… 【参考方案1】:

以下内容将在所有主流浏览器中执行此操作,并且与 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;

【讨论】:

太棒了,非常感谢!!! Identical with Tim's answer 这个问题是重复的。 @DanDascalescu:您是否因为它重复了我对另一个问题的回答而投了反对票? @TimDown:是的。我浪费了一点时间将这个答案与另一个答案进行比较,看看你是否在其中一个方面做出了改进。由于这个问题是一个封闭的骗局,如果这是我的答案,我会编辑它以链接到另一个问题中的答案,以节省用户一些时间。 (我的工作流程是搜索一些东西,然后在不同的选项卡中打开前几个最有希望的结果,然后比较解决方案。) @DanDascalescu:好的,很公平。几年前我对 SO 有很多重复的答案,那时我在积累声誉方面比现在更加无情,所以我会在看到它们时修复它们。

以上是关于window.getSelection 返回 html [重复]的主要内容,如果未能解决你的问题,请参考以下文章

酶玩笑 window.getSelection() 不起作用

window.getSelection和document.selection getSelection

webview- window.getselection()值为null

关于window.getSelection

document.selection window.getSelection()

textarea的window.getSelection()在Firefox中不起作用?