您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows you to focus the search field on any website by using a keyboard shortcut (Ctrl + ;)
// ==UserScript== // @name Focus Search Field // @namespace http://tampermonkey.net/ // @version 0.8 // @description Allows you to focus the search field on any website by using a keyboard shortcut (Ctrl + ;) // @author You // @match *://*/* // @grant none // @require https://code.jquery.com/jquery-2.2.4.min.js // ==/UserScript== (function ($, undefined) { $(function () { 'use strict'; var inputTypes = [ '[type=search]', '[type=text]', '[type!=hidden][type!=submit]', ]; var inputSelectors = [ 'input[name=q]', 'input[name=query]', 'input[name=search]', 'input[name*=search]', 'input#q', 'input#query', 'input#search', 'input.search', 'input.query', 'input[id*=search]', 'input[class*=search]', 'input[placeholder*=search]', 'input[placeholder*=Search]', 'div.search input', 'div[class*=search] input', 'textarea[name=q]', ]; var searchFields = []; var searchIndex = null; var findSearchField = function() { if (searchFields.length) { console.info(searchFields.length + ' search fields reading from cache'); return searchFields; } inputTypes.forEach(function(type) { inputSelectors.forEach(function(selector) { var result = $(selector+type+':visible'); searchFields = searchFields.concat(result.toArray()); }); }); if (!searchFields.length) { console.info('search field not found'); } else { // remove duplicates searchFields = [...new Set(searchFields)]; console.info(searchFields.length + ' search fields found'); } return searchFields; }; var moveSearchIndex = function(n) { if (searchIndex === null) { searchIndex = 0; } else { searchIndex += n; } if (searchIndex >= searchFields.length) { searchIndex = 0; } if (searchIndex < 0) { searchIndex = searchFields.length - 1; } return searchIndex; }; var focusNextSearchField = function(n) { var searchFields = findSearchField(); if (searchFields.length) { var i = moveSearchIndex(n); console.info('trying to focus search field with index: ' + i); $(searchFields[i]).focus().select(); } }; $('body').keydown(function(event){ if (event.keyCode == 186 && (event.ctrlKey || event.metaKey) && !event.shiftKey) { focusNextSearchField(1); event.preventDefault(); } if (event.keyCode == 186 && (event.ctrlKey || event.metaKey) && event.shiftKey) { focusNextSearchField(-1); event.preventDefault(); } }); }); })(window.jQuery.noConflict(true));
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址