Javascript Ctrl+;C复制网页文本-将额外数据复制到剪贴板

Javascript Ctrl+;C复制网页文本-将额外数据复制到剪贴板,javascript,web,Javascript,Web,这个周末我刚刚浏览了一些食谱,并从这个网页上复制了一些文本粘贴到Word中 但是,当我粘贴它时,会有额外的数据(“请在[url]查看更多信息”)。 在启用Firefox和NoScript的情况下访问站点时不会发生这种情况,因此我假设它是在Javascript中。这是怎么做到的?只是一个快速的谷歌搜索结果 <script type="text/javascript"> function addLink() { var body_element = document.getEl

这个周末我刚刚浏览了一些食谱,并从这个网页上复制了一些文本粘贴到Word中

但是,当我粘贴它时,会有额外的数据(“请在[url]查看更多信息”)。
在启用Firefox和NoScript的情况下访问站点时不会发生这种情况,因此我假设它是在Javascript中。这是怎么做到的?

只是一个快速的谷歌搜索结果

<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>

函数addLink(){
var body_element=document.getElementsByTagName('body')[0];
var选择;
selection=window.getSelection();
var pagelink=“

更多信息请访问:
版权所有©;c.bavota”//如果需要,请更改此选项 var copytext=选择+页面链接; var newdiv=document.createElement('div'); newdiv.style.position='absolute'; newdiv.style.left='-9999px'; body_元素appendChild(newdiv); newdiv.innerHTML=copytext; 选择。选择所有子项(newdiv); setTimeout(函数(){ 主体元素移除child(newdiv); },0); } document.oncopy=addLink;

如您所见,它在oncopy事件上绑定。

Javascript正在等待
oncopy()
事件,当发生这种情况时,它会将一些文本附加到您所复制的内容上。为什么会进行否决?我不知道Javascript中有onCopy()事件-如果我知道的话,我可以猜到发生了什么。是的,人们获取网站内容是不好的,但是通过Javascript添加一些文本并不能阻止它的发生,只会激怒合法用户。感谢这个例子,我不知道Javascript中有一个oncopy事件(以前从未使用过),我想知道他们是如何做到的。我一直在寻找一种战胜它的方法,但它并没有让我那么烦恼。