🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

文章复制添加版权【更新 - fixed text/html bug】

/**
 * @description 添加版权
 */
 const addCopyright = () => {
  const genCopy = () => {
    return [
      '',
	  '',
	  '作者:Vanessa',
	  '链接:https://hacpai.com/article/1510544423932',
	  '来源:黑客派',
	  '著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。',
	]
  }

  $('.content-reset').on('copy', function (event) {
    if (!window.getSelection) {
        return
      }

      var selectionObj = window.getSelection()
      var author = $(this).data('author') || 'HacPai'
      var link = $(this).data('link') || location.href

      if (selectionObj.toString().length < 128) {
        return
      }

      if (selectionObj.rangeCount) {
        var container = document.createElement("div");
        for (var i = 0, len = selectionObj.rangeCount; i < len; ++i) {
          container.appendChild(selectionObj.getRangeAt(i).cloneContents());
        }
      }

      if ('object' === typeof event.originalEvent.clipboardData) {
        event.originalEvent.clipboardData.setData('text/html',  container.innerHTML + genCopy(author, link).join('<br>'))
        container.remove();
        event.originalEvent.clipboardData.setData('text/plain', selectionObj.toString() + genCopy(author, link).join('\n'))
        event.preventDefault();
        return
      }

      $('body').append('<div id="symFixCopy" style="position: fixed; left: -9999px;">' +
        selectionObj.toString() + genCopy(author, link).join('<br>') + '</div>')
      window.getSelection().selectAllChildren($('#symFixCopy')[0])
      setTimeout(function () {
        $('#symFixCopy').remove()
      }, 200)
  })
}

打开 F12,复制以上代码运行,再执行 addCopyright() 后。在文章内容区域拷贝长度大于 128 的文字,再粘贴即可看到效果


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步