您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to copy the LeetCode problem title
// ==UserScript== // @name Copy LeetCode Title // @namespace http://tampermonkey.net/ // @version 2025-05-17 // @description Adds a button to copy the LeetCode problem title // @author You // @match https://leetcode.cn/problems/* // @icon https://www.google.com/s2/favicons?sz=64&domain=leetcode.cn // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; function copyToClipboard(text) { navigator.clipboard.writeText(text).then(function() { console.log('Async: Copying to clipboard was successful!'); }, function(err) { console.error('Async: Could not copy text: ', err); }); } function addButton() { const titleElement = document.querySelector('.text-title-large'); if (!titleElement) { console.error("Could not find the title element."); return; } const problemTitle = titleElement.textContent.trim(); const copyButton = document.createElement('button'); copyButton.textContent = '复制标题'; copyButton.style.marginLeft = '10px'; // Add some spacing copyButton.style.padding = '5px 10px'; copyButton.style.backgroundColor = '#f0f0f0'; copyButton.style.border = '1px solid #ccc'; copyButton.style.borderRadius = '5px'; copyButton.style.cursor = 'pointer'; copyButton.addEventListener('click', function() { copyToClipboard(problemTitle); // alert('标题已复制到剪贴板!'); // Provide feedback }); const titleContainer = titleElement.parentNode; if (titleContainer) { titleContainer.appendChild(copyButton); } else { console.error("Could not find the title container."); } } // Add the button after the page loads window.addEventListener('load', addButton); })();