您需要先安装一个扩展,例如 篡改猴、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 3
- // @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]
- 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,
- })
- }()