从网页复制内容时注入文本

时间:2009-07-29 21:14:09

标签: javascript clipboard

我遇到了一个网站,该网站在您突出显示并从其页面复制的任何文本的末尾注入“阅读更多:”行。

我以前从未见过这个,如果没有严肃地挖掘他们的代码,我找不到执行此操作的代码。

任何人都知道如何做到这一点?

示例:http://peaceful-parenting.suite101.com/article.cfm/how_to_keep_kids_from_climbing_on

复制一段文字,然后将其粘贴到另一个应用程序中,然后会有一个“阅读更多”行。

2 个答案:

答案 0 :(得分:37)

Suite101正在使用名为Tynt的第三方服务。

Tynt的JavaScript代码段位于http://tcr.tynt.com/javascripts/Tracer.js

我为你探索了这个来源(在Online JavaScript beautifier的帮助下)。

所以这就是发生的事情:

  • 代码激活mouseup,mousedown和copy等事件(在startListeningForTraces函数中)
  • 如果用户选择了一系列文字,那么:
    • 为归因链接创建HTML,以及可选的CC许可URL
    • 将此HTML附加到选区,将其置于零大小<div>内(以使其在屏幕上不可见)
    • 报告复制回Tynt服务器的内容

Tynt的代码为在浏览器中无缝地工作做了大量的工作。

答案 1 :(得分:3)

看起来像是tynt.com,它是从页面上复制文本的某种跟踪器。

来自tynt.com网站

  

在复制和粘贴内容时,Tracer会自动将链接添加回您的网站。     阅读更多:http://tracer.tynt.com/features-and-benefits-of-tracer#ixzz0MgaE6z6y     根据知识共享许可:署名无衍生物

哎呀......它刚刚在我从tynt.com网站复制的文本中添加了阅读更多链接和CC许可证内容。