您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Completely disables focus without blocking clicks or other events
// ==UserScript== // @name falcon focus // @description Completely disables focus without blocking clicks or other events // @match https://chat.falconllm.tii.ae/* // @run-at document-start // @version 0.0.1.20250531065554 // @namespace https://greasyfork.org/users/1435046 // ==/UserScript== (function () { 'use strict'; // 1. No-op focus function const noop = () => {}; // 2. Override focus methods on all elements [Element.prototype, HTMLElement.prototype, HTMLInputElement.prototype, HTMLTextAreaElement.prototype].forEach(proto => { Object.defineProperty(proto, 'focus', { value: noop, writable: false, configurable: false }); }); // 3. Always report no active element Object.defineProperty(document, 'activeElement', { get: () => null, configurable: false }); // 4. As a fallback, blur anything that somehow gains focus /*window.addEventListener('focus', e => { if (e.target && typeof e.target.blur === 'function') { e.target.blur(); } }, true);*/ // 5. Strip any HTML autofocus attributes as they're added new MutationObserver(mutations => { for (const m of mutations) { for (const node of m.addedNodes) { if (node.nodeType === 1) { if (node.hasAttribute('autofocus')) { node.removeAttribute('autofocus'); } node.querySelectorAll && node.querySelectorAll('[autofocus]') .forEach(el => el.removeAttribute('autofocus')); } } } }).observe(document, { childList: true, subtree: true }); })();