您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
For some Superpower ChatGPT and OpenAI chats the Home, End, Page Up and Page Down keys stop working, this script fixes the problem
- // ==UserScript==
- // @name Fix Home, End, Page Up and Page Down keys for Superpower ChatGPT and OpenAI broken chats
- // @description For some Superpower ChatGPT and OpenAI chats the Home, End, Page Up and Page Down keys stop working, this script fixes the problem
- // @author NWP
- // @namespace https://greasyfork.org/users/877912
- // @version 0.6
- // @license MIT
- // @match https://chat.openai.com/*
- // @match https://chatgpt.com/*
- // @grant none
- // ==/UserScript==
- (function () {
- 'use strict';
- document.addEventListener('keydown', function (event) {
- if (['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName)) {
- return;
- }
- const scrollableContainer = Array.from(document.querySelectorAll('div')).find(div => /^react-scroll-to-bottom--css-\S+$/.test(div.className)) || // OpenAI
- document.querySelector('#conversation-inner-div'); // Superpower ChatGPT
- if (!scrollableContainer) {
- console.error("No scrollable container found.");
- return;
- }
- switch (event.key) {
- case 'Home':
- case 'End':
- scrollToEnds(event, scrollableContainer);
- break;
- case 'PageUp':
- case 'PageDown':
- scrollByPage(event, scrollableContainer);
- break;
- }
- });
- function scrollToEnds(event, container) {
- event.preventDefault();
- const position = event.key === 'Home' ? 0 : container.scrollHeight;
- container.scrollTo({ top: position, behavior: 'instant' });
- }
- function scrollByPage(event, container) {
- event.preventDefault();
- const amount = event.key === 'PageUp' ? -container.clientHeight * 0.75 : container.clientHeight * 0.75;
- container.scrollBy({ top: amount, behavior: 'instant' });
- }
- })();