您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Inject postMessage into ChatGPT without stealing focus
当前为
// ==UserScript== // @name ChatGPT Native Injector (No Focus) // @description Inject postMessage into ChatGPT without stealing focus // @match https://chatgpt.com/* // @version 0.0.1.20250512162359 // @namespace https://greasyfork.org/users/1435046 // ==/UserScript== (function() { 'use strict'; // 1. Cache the native setter for .value const valueSetter = Object.getOwnPropertyDescriptor( HTMLTextAreaElement.prototype, 'value' ).set; window.addEventListener('message', event => { if (typeof event.data !== 'string') return; const text = event.data.trim(); if (!text) return; // 2. Find ChatGPT’s hidden textarea (it mirrors the ProseMirror editor) const ta = document.querySelector('textarea.text-token-text-primary'); if (!ta) return; // 3. Update its value without focusing valueSetter.call(ta, text); ta.dispatchEvent(new InputEvent('input', { bubbles: true })); // 4. Click Send if available const sendBtn = document.getElementById('composer-submit-button'); if (sendBtn && !sendBtn.disabled) { sendBtn.click(); } }); })();