Minimal ChatGPT Message Logger + Injector + Submitter

Listen for postMessage from parent, log to console, enter it into the chat input, and submit

当前为 2025-05-12 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Minimal ChatGPT Message Logger + Injector + Submitter
  3. // @description Listen for postMessage from parent, log to console, enter it into the chat input, and submit
  4. // @match https://chatgpt.com/*
  5. // @version 0.0.1.20250512164444
  6. // @namespace https://greasyfork.org/users/1435046
  7. // ==/UserScript==
  8.  
  9. (function () {
  10. 'use strict';
  11.  
  12. window.addEventListener('message', function (event) {
  13.  
  14. console.log('Received message from parent window:', event.data);
  15.  
  16. // listen specifically for the search-button broadcast
  17. if (event.data && event.data.type === 'searchButtonClicked') {
  18. console.log('Search button was clicked');
  19. return;
  20. }
  21.  
  22. const composer = document.querySelector('.ProseMirror');
  23. if (!composer || typeof event.data !== 'string') return;
  24.  
  25. // 1. Inject the text
  26. composer.innerText = event.data;
  27.  
  28. // 2. Tell ProseMirror/React that the content changed
  29. composer.dispatchEvent(new InputEvent('input', { bubbles: true }));
  30.  
  31. // 3. Simulate pressing Enter to submit
  32. composer.dispatchEvent(new KeyboardEvent('keydown', {
  33. bubbles: true,
  34. cancelable: true,
  35. key: 'Enter',
  36. code: 'Enter',
  37. which: 13,
  38. keyCode: 13
  39. }));
  40. });
  41. })();