getSelection从选择中删除链接?

时间:2013-08-15 05:01:40

标签: javascript getselection

我正在使用以下代码在我的网站中选择文字时添加我的版权。一切都运行良好,除非用户选择具有链接的区域,getSelection()方法不返回链接。它只返回纯文本。 我希望允许用户像往常一样复制我的网站内容,而不会打扰风格和内容。我只是想找到一种在选择结束时添加版权的方法。 无论如何?

此致

<script type="text/javascript">
function addLink() {
    var body_element = document.getElementsByTagName('body')[0];
    var selection;
    selection = window.getSelection();
    var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />Copyright &copy; c.bavota"; // change this if you want
    var copytext = selection + pagelink;
    var newdiv = document.createElement('div');
    newdiv.style.position='absolute';
    newdiv.style.left='-99999px';
    body_element.appendChild(newdiv);
    newdiv.innerHTML = copytext;
    selection.selectAllChildren(newdiv);
    window.setTimeout(function() {
        body_element.removeChild(newdiv);
    },0);
}
document.oncopy = addLink;
</script>

1 个答案:

答案 0 :(得分:1)

您需要获取所选内容的HTML而不是文本,然后才能附加链接。

查看this question