-1

在从事与开发无关的工作时,我在answers.com上发现了一些感兴趣的东西。我从答案中复制并粘贴了一些文本,并注意到与我的答案一起我得到了一些我没有复制的文本。在进一步研究之后,似乎如果您从网站上的任何位置复制 8 个或更多单词,它会在您粘贴时添加一些文本。例如,如果我转到网站上的某个页面并复制 8 个或更多单词,然后将其粘贴到某处,您将得到如下内容:

精神错乱是一遍又一遍地做同样的事情,但期待不同的结果。

阅读更多: http ://wiki.answers.com/Q/Who_first_said_the_definition_of_insanity_is_to_do_the_same_thing_over_and_over_and_expect_different_results#ixzz1xqDl0yUW

我的问题是,有人知道这是怎么做到的吗?!我已经查看了一些代码,但没有发现任何给我任何线索的东西 :) 谢谢!

PS 是的,当我注意到这一点时,该页面就是我正在查看的页面:)

4

1 回答 1

1
function addText() {
    var body_element = document.body;
    var selection = window.getSelection();
    var extraText = "<br /><br />some extra info here";
    var copytext = selection + extraText;
    var newdiv = document.createElement('div');
    newdiv.setAttribute('style','position:absolute;left:-99999px;')
    newdiv.innerHTML = copytext;
    body_element.appendChild(newdiv);
    selection.selectAllChildren(newdiv);
    window.setTimeout(function() {
        body_element.removeChild(newdiv);
    },0);
}
document.oncopy = addText;

致谢:如何向复制的网络文本添加额外信息

于 2012-06-15T06:56:30.053 回答