您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
向评论-操作列表(评论右下的三个点打开的菜单)添加复制按钮
// ==UserScript== // @name Bilibili评论区添加复制按钮 // @namespace myitian.bili.comm-add-copy-btn // @version 3.0 // @license MIT // @description 向评论-操作列表(评论右下的三个点打开的菜单)添加复制按钮 // @author Myitian // @match *://*.bilibili.com/* // @grant GM_setClipboard // ==/UserScript== window.onmousedown = function addCopyBtn() { var href = window.location.href; var replies = document.querySelectorAll('.reply-wrap') //var oprLst = document.getElementsByClassName('opera-list'); // 获取目标元素 if (replies.length != 0) { var reg_t = /^https:\/\/t\.bilibili\.com(((\/[^\d])|(\?|\#))\S*|\/)?$/; var reg_s = /^https:\/\/space\.bilibili\.com\S*$/; var reg_l = /^https:\/\/live\.bilibili\.com\S*$/; var noLinkCopy = (reg_t.test(href) || reg_s.test(href) || reg_l.test(href)); for (var i = 0; i < replies.length; i++) { if (!replies[i].hasAttribute('data-changed')) { // 判断是否已被更改,若否,则继续 let operaList = replies[i].querySelector(".opera-list"); if (!noLinkCopy) { // 排除动态首页、个人空间、直播页 let clipBoardContent_Link = href + '#reply' + replies[i].getAttribute('data-id'); let copyLink = document.createElement('li'); copyLink.className = 'myitian-copybtn'; copyLink.setAttribute('data-copycontent', clipBoardContent_Link); copyLink.onclick = function (event) { var obj = document.elementFromPoint(event.clientX, event.clientY); GM_setClipboard(obj.getAttribute('data-copycontent')); }; copyLink.innerText = '复制链接'; operaList.firstChild.appendChild(copyLink); } let authorName = replies[i].querySelector(".name"); let clipBoardContent_Text = ''; let clipBoardContent_TextWithAuthor = authorName.innerText + ' [UID:' + authorName.getAttribute('data-usercard-mid') + ']\n'; let text = replies[i].querySelector(".text") if (text) { // 判断是否为子评论 text = text.childNodes; } else { text = replies[i].querySelector(".text-con").childNodes; } for (var j = 0; j < text.length; j++) { switch (text[j].nodeName) { case '#text': clipBoardContent_Text += text[j].textContent; break; case 'A': var href_a = text[j].href; var reg_av = /\/\/www\.bilibili\.com\/video\/av\d+\S*/i; var reg_av2 = /av\d+/i; var reg_bv = /\/\/www\.bilibili\.com\/video\/[Bb][Vv][1-9a-km-zA-HJ-NP-Z]{10}\S*/; var reg_bv2 = /[Bb][Vv][1-9a-km-zA-HJ-NP-Z]{10}/; var reg_cv = /\/\/www\.bilibili\.com\/read\/cv\d+\S*/i; var reg_cv2 = /cv\d+/i; var reg_b23av = /https:\/\/b23\.tv\/av\d+\S*/i; var reg_b23bv = /https:\/\/b23\.tv\/[Bb][Vv][1-9a-km-zA-HJ-NP-Z]{10}\S*/; var reg_b23 = /https:\/\/b23\.tv\/\S*/i; var reg_note = /https:\/\/www\.bilibili\.com\/h5\/note-app\/view\?cvid=\d+(&[\S\s]+)?/i; var reg_note2 = /cvid=\d+/i; if (reg_av.test(href_a)) { clipBoardContent_Text += reg_av2.exec(href_a)[0];//www.bilibili.com,av } else if (reg_bv.test(href_a)) { clipBoardContent_Text += reg_bv2.exec(href_a)[0];//www.bilibili.com,bv } else if (reg_cv.test(href_a)) { clipBoardContent_Text += reg_cv2.exec(href_a)[0];//www.bilibili.com,cv } else if (reg_b23av.test(href_a)) { clipBoardContent_Text += reg_av2.exec(href_a)[0];//b23.tv,av } else if (reg_b23bv.test(href_a)) { clipBoardContent_Text += reg_bv2.exec(href_a)[0];//b23.tv,bv } else if (reg_b23.test(href_a)) { clipBoardContent_Text += href_a.substring(8);//b23.tv,other } else if (reg_note.test(href_a)) { clipBoardContent_Text += '[笔记|cv' + reg_note2.exec(href_a)[0].split('=')[1] + ']';//note(cv) } else { clipBoardContent_Text += text[j].textContent;//other,@xxx } break; case 'BR': clipBoardContent_Text += '\n';//换行 break; case 'IMG': var alt = text[j].getAttribute('alt');//表情包带alt if (alt != null) { clipBoardContent_Text += alt; } break; case 'SPAN': clipBoardContent_Text += '[' + text[j].textContent + ']';//置顶 break; default: clipBoardContent_Text += text[j].textContent; break; } } clipBoardContent_TextWithAuthor += clipBoardContent_Text; var copyText = document.createElement('li'); copyText.className = 'myitian-copybtn'; copyText.setAttribute('data-copycontent', clipBoardContent_Text); copyText.onclick = function (event) { var obj = document.elementFromPoint(event.clientX, event.clientY); GM_setClipboard(obj.getAttribute('data-copycontent')); }; copyText.innerText = '复制文字'; operaList.firstChild.appendChild(copyText); var copyTextWithAuthor = document.createElement('li'); copyTextWithAuthor.className = 'myitian-copybtn'; copyTextWithAuthor.setAttribute('data-copycontent', clipBoardContent_TextWithAuthor); copyTextWithAuthor.onclick = function (event) { var obj = document.elementFromPoint(event.clientX, event.clientY); GM_setClipboard(obj.getAttribute('data-copycontent')); }; copyTextWithAuthor.innerText = '复制(带作者)'; operaList.firstChild.appendChild(copyTextWithAuthor); replies[i].setAttribute('data-changed', 'true'); } } } };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址