Greasy Fork is available in English.
For some Superpower ChatGPT and OpenAI chats the Home, End, Page Up and Page Down keys stop working, this script fixes the problem
Versión del día
// ==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://greatest.deepsurf.us/users/877912
// @version 0.4
// @license MIT
// @match https://chat.openai.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' });
}
})();