为了账号安全,请及时绑定邮箱和手机立即绑定

如何向复制的Web文本添加额外信息

如何向复制的Web文本添加额外信息

忽然笑 2019-08-24 15:23:13
如何向复制的Web文本添加额外信息一些网站现在使用来自Tynt的JavaScript服务,该文本将文本附加到复制的内容。如果您使用此网站从网站复制文本然后粘贴,则会获得指向文本底部原始内容的链接。Tynt也会跟踪它。这是一个很好的技巧。他们这样做的脚本令人印象深刻 - 而不是试图操纵剪贴板(只有IE的旧版本允许他们默认执行,哪些应该总是关闭)他们操纵实际选择。因此,当您选择一个文本块时,额外内容将作为隐藏<div>添加到您的选择中。粘贴时,将忽略额外的样式,并显示额外的链接。这对于简单的文本块实际上相当容易,但是当您考虑在不同浏览器中复杂HTML中的所有选择时,这是一场噩梦。我正在开发一个Web应用程序 - 我不希望任何人能够跟踪复制的内容,我希望额外的信息包含一些上下文,而不仅仅是一个链接。在这种情况下,Tynt的服务并不合适。有没有人知道一个开源JavaScript库(可能是一个jQuery插件或类似的)提供类似的功能,但不暴露内部应用程序数据?
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

这是一个来自上述修改过的解决方案的vanilla javascript解决方案,但支持更多浏览器(跨浏览器方法)

function addLink(e) {
    e.preventDefault();
    var pagelink = '\nRead more: ' + document.location.href,
    copytext =  window.getSelection() + pagelink;
    clipdata = e.clipboardData || window.clipboardData;
    if (clipdata) {
        clipdata.setData('Text', copytext);
    }}document.addEventListener('copy', addLink);


查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 458 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号