-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChatGPT_Focus_Input.js
37 lines (32 loc) · 1.18 KB
/
ChatGPT_Focus_Input.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// ==UserScript==
// @name ChatGPT Focus Input
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Automatically set focus to the ChatGPT input box when switching back to the tab.
// @author [email protected]
// @match https://*.chatgpt.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const chatInputSelector = '#prompt-textarea';
let hasLeftPage = false; // 标志用于检测是否离开过当前页面
function setFocusToChatInput() {
const chatInput = document.querySelector(chatInputSelector);
if (chatInput) {
chatInput.focus();
console.log('Focus set to ChatGPT input box');
}
}
window.addEventListener('blur', function() {
hasLeftPage = true; // 当页面失去焦点时,设置标志为true
console.log("Window or tab lost focus");
});
window.addEventListener('focus', function() {
console.log("Window or tab focused");
if (hasLeftPage) { // 当页面重新获得焦点且之前已离开过页面时
setFocusToChatInput();
hasLeftPage = false; // 重置标志
}
});
})();