从HTML页面复制文本时添加文本

时间:2019-06-05 19:32:11

标签: javascript html css

我提供了一个网站,并且像很多作者一样,如果阅读内容可以将文本复制并粘贴到某个地方,我会很高兴。

是否可以将文本之前的URL添加到剪贴板?在这种情况下,文本的来源将与文本一起粘贴。

最好是使用CSS或HTML的解决方案。但是我认为JavaScript可能是唯一的解决方案...

1 个答案:

答案 0 :(得分:0)

来自the clipboard api documentation

要覆盖默认的复制事件行为,必须添加复制事件处理程序,并且此事件处理程序必须调用preventDefault()来取消事件。

取消事件是必需的,以便使用剪贴板数据中的数据更新系统剪贴板。如果没有取消ClipboardEvent,则将复制当前文档选择中的数据。

  // Overwrite what is being copied to the clipboard.
document.addEventListener('copy', function(e) {
  // e.clipboardData is initially empty, but we can set it to the
  // data that we want copied onto the clipboard.
  var selectedtext = window.getSelection ().toString();
  var link = "<br><a href='http://www.example.com'>view source</a>";
  e.clipboardData.setData('text/html', selectedtext + link);

  // This is necessary to prevent the current document selection from
  // being written to the clipboard.
  e.preventDefault();
 });