您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
chatgpt发送前自动复制输入框内容到剪切板
// ==UserScript== // @name copy-chatgpt-input // @namespace http://tampermonkey.net/ // @version 2024-02-20 // @description chatgpt发送前自动复制输入框内容到剪切板 // @author SeekingLight233 // @match https://chat.openai.com // @icon https://www.google.com/s2/favicons?sz=64&domain=openai.com // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; main() let copyTmp = ""; function main() { console.log("init copy-input"); const sendBtn = getSendBtn(); const textAreaNode = getTextAreaNode(); textAreaNode.addEventListener("input", (e) => { const val = e.target.value; copyTmp = val; }) document.body.addEventListener("click", (event) => { const sendBtn = event.target.closest('[data-testid="send-button"]'); if (sendBtn) { copyValue(copyTmp); } }); document.addEventListener("keydown", function (event) { if ((event.metaKey || event.ctrlKey) && event.key === "Enter") { copyValue(copyTmp) } }) } function copyValue(value) { navigator.clipboard.writeText(value).then(() => { // console.log('copy input:', value); }).catch(err => { // console.error('copy failed', err); }); } function getTextAreaNode() { return document.getElementsByTagName("textarea")?.[0]; } function getTextAreaValue() { const node = getTextAreaNode(); return node?.value ?? "" } function getSendBtn() { const textAreaNode = getTextAreaNode(); const pNode = textAreaNode.parentElement; const sendBtn = pNode.querySelector('[data-testid="send-button"]'); return sendBtn; } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址