Chrome 扩展程序如何聚焦第一个输入字段?

Chrome 扩展程序如何聚焦第一个输入字段?

我正在寻找这个Firefox 扩展称为 FirstField,但适用于 Chrome。本质上,您按下键盘快捷键,它会聚焦网页上的第一个文本输入字段(例如,维基百科搜索)。创建这个有多难?

答案1

快速搜索重点Chrome 网上应用店带大输入焦点。它看起来会按照您的要求执行,按 Ctrl+Alt+L 将焦点设置在页面的第一个文本字段上,然后再次按下组合键开始循环浏览页面上的其他文本字段。

答案2

如果你正在寻找更全面的东西,我对Vimium Chrome 扩展程序如果您对 VI(M) 有所了解,那么它会特别流畅,但即使不了解,它也很有用。

如果你安装了 Vimium,你可以通过输入以下内容来获取第一个输入字段gi

然后您可以通过 Tab 键切换到其他文本输入字段。

或者,您可以在前面加上gi数字,如3gi,它将从第三个可见的输入字段开始。

作为另一种选择,您可以键入f这将为页面上所有可点击链接和元素(包括文本输入字段)提供简短的键盘命令(例如MN)。然后您可以键入此简短命令以将焦点跳转到那里。

答案3

您可以安装坦普尔猴子

打开仪表板并点击+标志添加新脚本。

此代码将第一个输入集中在文档加载的所有网站上:

// ==UserScript==
// @name         Focus Input Global
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==


(function() {
    'use strict';

    // Your code here...
    document.getElementsByTagName('input')[0].focus();
})();

解释:

  1. // @match *://*/*与您希望运行脚本的页面匹配的 URL 模式,在本例中*://*/*意味着所有页面。
  2. 此行document.getElementsByTagName('input')[0].focus();使用 查找文档中的所有输入元素,然后使用getElementsByTagName('input')关注第一个输入元素。[0].focus()

如果// @match *://*/*在某些页面上不起作用,则创建针对该特定页面的新脚本,例如:// @match https://www.google.com/*

如果[0]对特定页面不起作用,例如:// @match https://www.google.com/*,则尝试增加数字来选择目标输入[1],,[2]...

如果getElementsByTagName不起作用,那么您可以使用以下方法之一:

  • document.getElementsByName('search')[0].focus();
  • document.getElementsByClassName('form-control')[0].focus();
  • document.getElementById('id').focus();

查找目标元素姓名班级或者ID在 DevTools 中。

如果.focus()不起作用,那么您可以尝试使用.click()


如果你想使用键盘快捷键触发焦点Ctrl + Shift + Lgoogle.com那么输入以下内容:

// ==UserScript==
// @name         Focus Input Google Key Combo
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.google.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    document.onkeydown = function (e) {
        // Detect if Ctrl + Shift is pressed together
        if (e.ctrlKey && e.shiftKey) {
            // Detect if L is pressed after Ctrl + Shift
            if (e.key == "L")
            {
                // Focus Input Element
                document.getElementsByName('q')[0].focus();
                document.getElementsByName('q')[0].select();
            }
        }
    };
})();

.select()如果您之前输入了内容,则会选择输入字段的值。

阅读更多内容键盘组合

相关内容