Safari 8的新“搜索标签”功能非常好。激活“显示所有选项卡”后,您可以键入一些文本以将选项卡筛选为所需的选项卡。但是,一旦我看到一个标签,那将是非常好的能够激活该选项卡。这将允许选项卡使用“ spotlight”类型的功能。
但是,似乎在搜索完标签后似乎没有键盘快捷键可以激活该标签,因此我不得不用鼠标单击该标签!这似乎是一种疏忽,我不敢相信Apple会添加一种不错的方法来过滤选项卡,但无法选择一个选项!
屏幕截图:
Safari 8的新“搜索标签”功能非常好。激活“显示所有选项卡”后,您可以键入一些文本以将选项卡筛选为所需的选项卡。但是,一旦我看到一个标签,那将是非常好的能够激活该选项卡。这将允许选项卡使用“ spotlight”类型的功能。
但是,似乎在搜索完标签后似乎没有键盘快捷键可以激活该标签,因此我不得不用鼠标单击该标签!这似乎是一种疏忽,我不敢相信Apple会添加一种不错的方法来过滤选项卡,但无法选择一个选项!
屏幕截图:
Answers:
我尝试了以下按键组合以尝试执行此操作,但没有任何效果:
这使我相信这确实是对苹果公司的疏忽。
Kludge:创建一个Automator命令来模拟鼠标单击
我使用在https://discussions.apple.com/thread/3708948上找到的代码来组合以下AppleScript:
尝试1: 没用我使用包裹在Automator服务中的Applescript来运行此代码,该服务映射到“ Command + Shift + Option + Control + Space”,使用从按“ Command + Control + Shift + 4”到获取区域的地址(从左侧水平600像素,从顶部垂直300像素),并且可以在普通Safari中工作(按组合键可使鼠标单击该像素地址),但是当在Safari的“显示所有选项卡”模式下运行了相同的键盘命令!
on run {input, parameters}
tell application "System Events"
tell process "Safari"
click at {600, 300}
end tell
end tell
return input
end run
尝试2:可行,但不可行
我确实收到了与以下包装在Automator服务中的Applescript一起使用的键盘命令,但完成操作花费了5.125秒:
on run {input, parameters}
set x to 600
set y to 150
do shell script "
/usr/bin/python <<END
import sys
import time
from Quartz.CoreGraphics import *
def mouseEvent(type, posx, posy):
theEvent = CGEventCreateMouseEvent(None, type, (posx,posy), kCGMouseButtonLeft)
CGEventPost(kCGHIDEventTap, theEvent)
def mousemove(posx,posy):
mouseEvent(kCGEventMouseMoved, posx,posy);
def mouseclick(posx,posy):
mouseEvent(kCGEventLeftMouseDown, posx,posy);
mouseEvent(kCGEventLeftMouseUp, posx,posy);
ourEvent = CGEventCreate(None);
currentpos=CGEventGetLocation(ourEvent); # Save current mouse position
mouseclick(" & x & "," & y & ");
mousemove(int(currentpos.x),int(currentpos.y)); # Restore mouse position
END"
return input
end run
我想我得到了你的答案。我整天都在寻找这个。我使用了一个很棒的免费应用程序BetterTouchTool(使用OS X 10.10)向所有Apple设备添加了附加手势和快捷方式,并且可以立即工作!不要拖延!
我将为您需要配置的每个步骤制作屏幕截图。注意:使用Safari浏览器时,它将绑定鼠标位置作为您选择的键盘快捷键。缺点:您无法更改Safari的窗口位置,并且鼠标的位置将与笔记本电脑的显示器不同。解决方案:我建议使用全屏方式将鼠标位置映射到您最常使用的屏幕上(或者仅映射每个屏幕的两个快捷方式)
2打开应用程序,选择键盘,将应用程序添加到要添加的快捷方式列表中(在本例中为Safari),选择快捷方式(我在此屏幕快照中映射“ Option + 1”),然后在Trigger中选择菜单中,在“其他Mouser操作”中选择“ 将鼠标移至位置 ”。我在屏幕截图中标记了错误的选项,即上面的选项。不是“保存鼠标位置”。对不起,我太累了,现在是凌晨三点,我明天必须上班
3选择您要光标移至的位置(当用户界面显示约3个结果时,输入框中的位置将检查第一个结果)
用不同的鼠标位置执行相同操作以获得第二,第三结果。但是请记住,如果结果较大,用户界面将更改,有时甚至隐藏第一个结果。
shift+command+\
到command+d
。因此,您只需在command+d command+f
此处输入文字即可command+d
。
自从他们添加此功能之前,我一直在使用Applescript来执行此操作:
http://hea-www.harvard.edu/~fine/OSX/safari-tabs.html
它会弹出一个搜索对话框,您输入搜索内容,它会立即激活一个匹配选项卡,或者为您提供一个对话框,以从匹配选项卡列表中进行选择。它将窗口置于最前面,并使它成为窗口中的活动选项卡。
(我有一个类似的脚本来查找终端窗口。)
使用Automator并将粘贴的AppleScript粘贴到键盘快捷方式,如以下所述:
set question to display dialog ("Find Safari tab:") default answer ""
set searchpat to text returned of question
tell application "Safari"
set winlist to every window
set winmatchlist to {}
set tabmatchlist to {}
set tabnamematchlist to {}
repeat with win in winlist
set ok to true
try
set tablist to every tab of win
on error errmsg
--display dialog name of win as string
set ok to false
end try
if ok then
repeat with t in tablist
if searchpat is in (name of t as string) then
set end of winmatchlist to win
set end of tabmatchlist to t
set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ". " & (name of t as string)
--display dialog name of t as string
else if searchpat is in (URL of t as string) then
set end of winmatchlist to win
set end of tabmatchlist to t
set end of tabnamematchlist to (id of win as string) & "." & (index of t as string) & ". " & (name of t as string)
--display dialog name of t as string
end if
end repeat
end if
end repeat
if (count of tabmatchlist) = 1 then
--display dialog "one!"
set w to item 1 of winmatchlist
set t to item 1 of tabmatchlist
set current tab of w to t
set index of w to 1
else if (count of tabmatchlist) = 0 then
display dialog "No matches"
else
set whichtab to choose from list of tabnamematchlist with prompt "The following tabs match, please select one:"
set AppleScript's text item delimiters to "."
if whichtab is not equal to false then
set tmp to text items of (whichtab as string)
set w to (item 1 of tmp) as integer
set t to (item 2 of tmp) as integer
set current tab of window id w to tab t of window id w
set index of window id w to 1
end if
end if
end tell