复制标题超链接

2024/4/9 15:01:15

目前为 2024-04-10 提交的版本。查看 最新版本

// ==UserScript==
// @name        复制标题超链接
// @namespace   tapd
// @match       https://www.tapd.cn/*/*/*/view*
// @grant       none
// @version     1.0
// @author      wangy
// @license           MIT
// @description 2024/4/9 15:01:15

// ==/UserScript==


function addTitleLink(event) {
  let url = document.location.href
  let title = $('#story_name_view,#task_name_view,#bug_title_view').children('.editable-value').attr('title')

  if(title === undefined || title == ''){
    // 处理标题异步加载的场景,如果取不到标题则等500ms后重试
    setTimeout(addTitleLink, 500)
    return
  }

  let a = $('<a id="title_link">')
            .attr('href', url)
            .css('font-size', 14)
            .text(title)
  let markdown = '[' + title + ']('+ url +')'

  let btn = $('<a href="javascript:">')
            .addClass('btn')
            .css('margin-left', 20)
            .append($('<span>')
              .text('标题markdown')
              .css('width','auto'))
            .click(async function() {
              let format1 = 'text/plain';
              let promise_text_blob = Promise.resolve(new Blob([markdown], {type: format1}));
              let clipboardItemInput = new ClipboardItem(
                {[format1]: promise_text_blob},
                {presentationStyle: "unspecified"});
              await navigator.clipboard.write([
                clipboardItemInput
              ]);
            })
            .prependTo('.right-operation')

  a.prependTo('.right-operation')
}


addEventListener("load", addTitleLink);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址