我正在寻找这个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();
})();
解释:
- 是
// @match *://*/*
与您希望运行脚本的页面匹配的 URL 模式,在本例中*://*/*
意味着所有页面。 - 此行
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 + L
,google.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()
如果您之前输入了内容,则会选择输入字段的值。
阅读更多内容键盘组合