在做一些与开发无关的事情时,我在 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
我的问题是,有谁知道这是怎么做到的?!我已经研究了一下代码,但没有发现任何给我任何线索的东西:)谢谢!
附言是的,当我注意到这个页面时,那个页面就是我正在查看的:)
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;
信用:如何向复制的 Web 文本添加额外信息