Javascript:如何将更多文本附加到用户复制的文本ala nydailynews.com

时间:2009-12-22 01:38:49

标签: javascript jquery html css

nydailynews.com上复制并粘贴网站上的任何文字时,会附加一段文字。

  

了解详情:http://www.nydailynews.com/#ixzz0aN123abc

他们如何实现这一目标?

我搜索了所有外部JavaScript文件(jquery),似乎无法找到任何对应的内容。这可以用简单的CSS来完成吗?

2 个答案:

答案 0 :(得分:3)

如果您在Firefox中使用EventBug,则会看到copy事件触发。页面上的JS正在侦听此事件并更改剪贴板内容。这个页面加载了很多文件,但很难找到源代码。

答案 1 :(得分:2)

使用此代码将额外文本添加到复制的内容

来源:http://bavotasan.com/2010/add-a-copyright-notice-to-copied-text/

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