Javascript Ctrl+;C复制网页文本-将额外数据复制到剪贴板
这个周末我刚刚浏览了一些食谱,并从这个网页上复制了一些文本粘贴到Word中 但是,当我粘贴它时,会有额外的数据(“请在[url]查看更多信息”)。Javascript Ctrl+;C复制网页文本-将额外数据复制到剪贴板,javascript,web,Javascript,Web,这个周末我刚刚浏览了一些食谱,并从这个网页上复制了一些文本粘贴到Word中 但是,当我粘贴它时,会有额外的数据(“请在[url]查看更多信息”)。 在启用Firefox和NoScript的情况下访问站点时不会发生这种情况,因此我假设它是在Javascript中。这是怎么做到的?只是一个快速的谷歌搜索结果 <script type="text/javascript"> function addLink() { var body_element = document.getEl
在启用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 © 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事件(以前从未使用过),我想知道他们是如何做到的。我一直在寻找一种战胜它的方法,但它并没有让我那么烦恼。