您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically focuses the search box on page load
- // ==UserScript==
- // @license MIT
- // @name AutoFocusSearchBox
- // @namespace http://tampermonkey.net/
- // @version 1.0
- // @description Automatically focuses the search box on page load
- // @author aceitw
- // @match *://*/*
- // @grant GM_registerMenuCommand
- // @grant GM_setValue
- // @grant GM_getValue
- // ==/UserScript==
- (function () {
- 'use strict';
- // Utility: Determine if the current hostname is in the user-defined list
- const hostname = window.location.hostname;
- const siteList = GM_getValue('siteList', []);
- // Try to focus the search box
- function focusSearchBox() {
- const inputTags = Array.from(document.querySelectorAll('input[type="search"], input[type="text"], input:not([type])'))
- .filter(el => el.offsetParent !== null && el.offsetHeight > 0 && el.offsetWidth > 0);
- // Try the first element that looks like a search bar
- const searchInput = inputTags.find(input =>
- input.placeholder?.toLowerCase().includes('search') ||
- input.name?.toLowerCase().includes('search') ||
- input.id?.toLowerCase().includes('search') ||
- input.ariaLabel?.toLowerCase().includes('search')
- );
- if (searchInput) {
- searchInput.focus();
- }
- }
- // Focus only if the site is allowed
- if (siteList.includes(hostname)) {
- window.addEventListener('load', () => {
- setTimeout(focusSearchBox, 200); // Delay to wait for page load
- });
- }
- // === SETTINGS UI ===
- GM_registerMenuCommand('🔧 Manage Focus Sites', () => {
- const currentList = GM_getValue('siteList', []);
- const input = prompt(
- `Enter a list of hostnames (one per line).\nExample:\nwww.google.com\ndocs.google.com`,
- currentList.join('\n')
- );
- if (input !== null) {
- const newList = input
- .split('\n')
- .map(s => s.trim())
- .filter(s => s.length > 0);
- GM_setValue('siteList', newList);
- alert('✅ Site list updated!\n\nReload the page to apply changes.');
- }
- });
- })();