您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replace the Quote link under your own posts with an Edit link
当前为
// ==UserScript== // @name Rllmuk Put Edit Link Under Your Own Posts // @description Replace the Quote link under your own posts with an Edit link // @namespace https://github.com/insin/greasemonkey/ // @version 2 // @match https://rllmukforum.com/index.php?/topic/* // @match https://www.rllmukforum.com/index.php?/topic/* // ==/UserScript== void function TopicPage() { let $loggedInUserLink = document.querySelector('#elUserNav a.ipsUserPhoto') if (!$loggedInUserLink) { return } const POST_SELECTOR = 'article.ipsComment' const USER_ID_RE = /profile\/(\d+)/ let currentUserId = USER_ID_RE.exec($loggedInUserLink.href)[1] function processPost($post) { let $userLink = $post.querySelector('.cAuthorPane_author a') let userId = USER_ID_RE.exec($userLink.href)[1] console.log({$post, userId, currentUserId}) if (userId !== currentUserId) { return } let $quoteLink = $post.querySelector('a[data-action="quoteComment"]') let $editLink = $post.querySelector('a[data-action="editComment"]') $quoteLink.replaceWith($editLink.cloneNode(true)) } function processPosts(context = document) { context.querySelectorAll(POST_SELECTOR).forEach(processPost) } // Process initial posts processPosts() // Watch for posts being replaced when paging new MutationObserver(mutations => mutations.forEach(mutation => { if (mutation.oldValue == 'true') { processPosts() } }) ).observe(document.querySelector('div.cTopic'), { attributes: true, attributeFilter: ['animating'], attributeOldValue: true, }) // Watch for new posts being loaded into the current page new MutationObserver(mutations => { mutations.forEach(mutation => mutation.addedNodes.forEach($addedNode => { if ($addedNode.matches(POST_SELECTOR)) { processPost($addedNode) } }) ) }).observe(document.querySelector('#elPostFeed > form'), { childList: true, }) }()