Bil*_*ham 65 search keyboard-shortcuts google-chrome google-search
截至今天,谷歌即时搜索已经死了。这是它曾经的样子:
https://www.youtube.com/watch?v=ANVT56wlmTo
当我打字时,我从不关心结果的即时显示。但是,我确实每天使用它允许的键盘快捷键数百次。
对于那些从未使用过它的人 - 打开即时搜索,您可以:
搜索后按 Enter,然后使用向上/向下键在结果中向下移动“指针”
然后按“输入”打开指向的搜索结果
在任何时候,在键盘上输入字母/数字都会重新聚焦在搜索栏上
在突出显示结果的情况下按 Enter 键可以与 ctrl 修饰符结合以在新选项卡中打开结果。
我发现鼠标很难使用,并尽可能避免使用它。是否有工具或脚本可以用来复制即时搜索过去给我的键盘行为?
以前的问题在即时搜索时代已经问过(并得到了回答)(例如这个、这个和我以前的问题在这里),而我正在寻找具有相同功能的非谷歌替代品。
我在 Ubuntu 15.01 上使用 Chrome。
Rob*_*ino 27
Google 已删除此功能(称为 Google Instant Prediction),因此您不能像以前那样简单地将其变为现实。
看到这个功能出现我很难过,所以我昨晚写了一个 hack 来重新设计它。到目前为止,它只适用于谷歌浏览器,但可以适应与所有其他人一起使用:
键盘快捷键: tab
行为:运行 JavaScript
标签为:结果选择器
将以下 JavaScript 粘贴到JavaScript 代码中以运行:
document.selectedResultId=0
function selectResult(newId){
els = document.querySelectorAll("div.r h3")
if(newId < 0 || newId >= els.length)
return //Could modify for page nav...?
rp = document.getElementById("result-pointer")
if(rp != null){
rp.remove()
}
document.selectedResultId=newId
el = els[newId]
lnk = el.firstElementChild
el.innerHTML = "<div id=\"result-pointer\" style=\"position:absolute;left:-15px;\">></div>" + el.innerHTML
lnk.focus()
}
document.onkeyup=function(event){
if(event.keyCode==38)
selectResult(document.selectedResultId-1)
if(event.keyCode==40)
selectResult(document.selectedResultId+1)
if(event.keyCode==13){
var el = document.querySelectorAll("div.r h3")[document.selectedResultId]
var lnk = el.parentElement
var url = lnk.href
if(event.ctrlKey){
var win = window.open(url,"_blank")
win.blur()
window.open().close()
}
else{
document.location = url
}
}
}
selectResult(0)
Run Code Online (Sandbox Code Playgroud)配置激活设置:
在表单字段中处于活动状态(已选中)
网站(仅限特定网站)
URLS(每行一个):*.google.*
这就是“选项”页面的样子
指示:
当您重新启动时,当您点击 Tab 时,您应该会看到搜索结果中出现一个蓝色的“>”。
向上/向下箭头键使其循环显示结果。
点击“Enter”将导航到突出显示的结果。
按“Ctrl+Enter”在新选项卡中打开结果。
搜索愉快!
小智 17
我创建了一个 Chrome 扩展程序,它将添加回主要键盘功能(我至少使用过)。如果搜索框未聚焦,按任意键将自动聚焦它。此外,箭头键和 tab/shift+tab 可以让您在结果之间导航。希望这可以帮助我们保持生产力,直到谷歌(希望)重新添加功能。
这是扩展程序的代码,以防您要对其进行编辑:
(function() {
'use strict';
var isResultsPage = document.querySelector('html[itemtype="http://schema.org/SearchResultsPage"]');
if (!isResultsPage) {
return;
}
var searchbox = document.querySelector('form[role="search"] input[type="text"]:nth-of-type(1)'),
results = document.querySelectorAll('h3 a'),
KEY_UP = 38,
KEY_DOWN = 40,
KEY_TAB = 9;
function focusResult(offset) {
var focused = document.querySelector('h3 a:focus');
// No result is currently focused. Focus the first one
if (focused == null) {
results[0].focus();
}
else {
for (var i = 0; i < results.length; i++) {
var result = results[i];
if (result === focused) {
var focusIndex = i + offset;
if (focusIndex < 0) focusIndex = 0;
if (focusIndex >= results.length) focusIndex = results.length - 1;
results[focusIndex].focus();
}
}
}
}
window.addEventListener('keydown', function(e) {
e = e || window.event;
var isSearchActive = searchbox === document.activeElement,
keycode = e.keyCode,
// From /sf/ask/872706831/
isPrintable = (keycode > 47 && keycode < 58) || // number keys
(keycode > 64 && keycode < 91) || // letter keys
(keycode > 95 && keycode < 112) || // numpad keys
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223); // [\]' (in order)
if ((!isSearchActive && e.keyCode == KEY_DOWN) || (e.keyCode == KEY_TAB && !e.shiftKey)) {
e.preventDefault();
e.stopPropagation();
focusResult(1); // Focus next
}
else if ((!isSearchActive && e.keyCode == KEY_UP) || (e.keyCode == KEY_TAB && e.shiftKey)) {
e.preventDefault();
e.stopPropagation();
focusResult(-1); // Focus previous
}
else if (!isSearchActive && isPrintable) {
// Otherwise, force caret to end of text and focus the search box
searchbox.value = searchbox.value + " ";
searchbox.focus();
}
});
})();
Run Code Online (Sandbox Code Playgroud)
inf*_*ler 14
截至 2017 年 7 月 31 日,Google 从搜索中完全删除了此功能。
我创建了开源 Web Search Navigator 扩展来解决这个问题并添加额外的功能(比如可配置的键盘快捷键)。
请参阅安装说明。
希望你觉得它有用,但无论如何 - 欢迎反馈!
小智 5
对于 Firefox,我通过 Google 搜索结果键盘快捷键插件解决了这个问题。 https://addons.mozilla.org/en-US/firefox/addon/google-search-result-shortcuts/?src=api
归档时间: |
|
查看次数: |
50624 次 |
最近记录: |