For some Superpower ChatGPT and OpenAI chats the Home, End, Page Up and Page Down keys stop working, this script fixes the problem
Du kanske också gillar Keyboard shortcut for switching between Chat GPT 4o mini and Chat GPT 4o.
// ==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.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' });
}
})();