我实际上正在研究使用AutoHotkey的解决方案,该解决方案可以识别出单击已放入书签栏(按Chrome窗口中的位置),如果单击,则发送Ctrl-单击而不是常规单击。如果您使用AHK,请随时进行测试。
为此,我拦截了点击,确定该点击是否在Chrome中,然后确定该点击是否在我定义为书签栏的框中。如果满足所有这些条件,请以Ctrl键单击的方式发送该单击,而不是将在新选项卡中打开书签的单击。
这对于书签栏应该有效,但是当然它会忽略“其他书签”文件夹下的任何其他书签单击。我们仍然必须记住要按住Ctrl键单击任何链接(如果您的鼠标滚轮那么灵巧,请单击鼠标中键)。另外,书签栏的大小和位置可能会有所不同,具体取决于主题和其他工具栏等许多不同的内容,因此YMMV,请确保使用WindowSpy获取自己的书签栏的位置并更改其上下边界。 X和Y坐标。
也许我可能要改进的一件事是检测何时单击了“其他书签”,然后将下一个单击作为Ctrl-单击发送,因此您浏览菜单树,然后在找到并单击链接时使用Ctrl单击。
#SingleInstance force
#Persistent
LButton::
{
If MouseIsOver("ahk_class Chrome_WidgetWin_1")
{
MouseGetPos, LocationX, LocationY
If LocationX between 6 and 965
{
If LocationY between 75 and 95
{
; If we are here, the mouse has been clicked in Chrome in the
; bookmarks bar. Send a Ctrl-click instead of a click.
Send, {Control down}
Click
Send, {Control up}
}
Else
Click
}
Else
Click
}
Else
Click
}
MouseIsOver(WinTitle) {
MouseGetPos,,, Win
return WinExist(WinTitle . " ahk_id " . Win)
}