Sym - 一个用 Java 实现的现代化社区平台 • 源码注册

Pipe - 小而美的开源博客平台 • 体验皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

文章复制添加版权【更新 - 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('
'
)) container.remove(); event.originalEvent.clipboardData.setData('text/plain', selectionObj.toString() + genCopy(author, link).join('\n')) event.preventDefault(); return } $('body').append('
'
+ selectionObj.toString() + genCopy(author, link).join('
'
) + '') window.getSelection().selectAllChildren($('#symFixCopy')[0]) setTimeout(function () { $('#symFixCopy').remove() }, 200) }) }

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


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

留下你的脚步