从网站复制部分之后的Javascript剪贴板操作

时间:2012-01-11 13:55:02

标签: javascript html web clipboard copy-paste

当我从this website

复制一段测试时

我的剪贴板会在其末尾添加额外的文字,说“阅读更多:”然后我正在阅读的页面的网址(加上一个独特的字符串)

他们是如何做到的?

2 个答案:

答案 0 :(得分:2)

当您在其页面上选择文本时(在复制发生之前),会在页面外创建一个包含额外文本(“Read more:.....”)的零高度div( position: absolute; top: -1000px)然后将该文本添加到选择中。

因此,当您复制所选文本时,您还要复制隐藏在页面外的文本。

答案 1 :(得分:1)

我做了一些逆向工程,看起来这个脚本负责剪贴板操作:

http://tcr.tynt.com/ti.js(使用http://jsbeautifier.org/查看未压缩的代码)

请参阅本网站上的介绍电影:

http://www.tynt.com/

从技术上讲,我不知道它是如何完成的,看起来它们不使用Flash,而是使用 getSelection()函数和 copy,contextmenu 事件。