您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add an edit button for individual file changelogs on the legacy CurseForge website
// ==UserScript== // @name CurseForge Changelog Edit Button // @namespace http://tampermonkey.net/ // @version 2024-04-10 // @description Add an edit button for individual file changelogs on the legacy CurseForge website // @author nevcairiel // @match https://legacy.curseforge.com/*/mods/*/files/* // @icon https://www.google.com/s2/favicons?sz=64&domain=curseforge.com // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // find project id var editButton = document.querySelector("a[href$='/edit']") if (!editButton) return; var matches = editButton.href.match(/\/project\/(\d+)\/files\/\d+\/edit/); if (!matches || !matches[0]) return; var projectId = matches[1]; // find the icon asset path var iconPathMathces = document.querySelector("a.button svg.icon use").getAttribute("xlink:href").match(/(\/Content\/.+\/Skins\/CurseForge\/images\/twitch)\//); var iconPath = iconPathMathces[1]; function addEditButton(row) { var fileHref = row.querySelector("a[data-action=file-link]").href var fileId = fileHref.substring(fileHref.lastIndexOf('/') + 1) var html = `<a data-project-id="${projectId}" href="/project/${projectId}/files/${fileId}/edit" class="button button--icon-only" style="margin: 0px 2px;" data-tooltip="Edit file"><span class="button__text"><svg class="icon icon-fixed-width icon-margin" viewBox="0 0 20 20" width="18" height="18"><use xlink:href="${iconPath}/Object/Settings.svg#Object/Settings"></use></svg></span></a>`; var nodes = row.querySelectorAll("td") nodes[nodes.length - 1].querySelector("div").innerHTML += html; } var rows = document.querySelectorAll("table.project-file-listing tbody tr"); for (var i = 0, row; row = rows[i]; i++) { addEditButton(row); } // Your code here... })();