AutoHotKey实现双击Chrome标签位置关闭标签页(2024年7月更新:适用于Windows 11 Chrome浏览器)

实现目标:双击关闭Chrome标签页(相较于 MaxAlex的版本 ,只保留双击关闭标签,不然滚轮滚多了会弹窗)。
——————————————————————————————————————————————————
备注:
2024年7月更新:解决Windows 11 Chrome浏览器在最大化时双击无法关闭浏览器标签的bug。
操作系统:Windows11 Chrome浏览器版本:126.0.6478.183(正式版本) (64 位)

前言:

在很多国产浏览器中自带有双击关闭浏览器标签功能,连微软的edge都跟进了这项功能,然而chrome似乎总是不听劝。chrome浏览器要想实现此功能,只能借助第三方插件或软件。经过调研,最终选择autohotkey实现。一方面这个软件免费,且轻量化;另一方面,除了实现双击关闭chrome标签页功能,autohotkey还可以自定义很多实用的功能,比如按键映射,快捷键启动特定软件,任务栏滚动鼠标调节音量等等。唯一可能的缺点是autohotkey需要一点编程基础,至少得看得懂代码,但这个缺点在有了chatgpt的今天,似乎已经不成问题。

功能实现

脚本使用步骤见之前写的一篇文章
AutoHotKey实现双击Chrome标签位置关闭标签页(ChatGPT辅助编写》,简单来说,共四步:
1.安装atuohotkey v1.1(最新的版本为v2.0,语法有更新,还没时间研究,现在使用的是v1.1。);
2.新建一个文本文档,更改任意名字,比如为test.ahk;
3.使用记事本或其他文本编辑软件打开test.ahk,在其中输入如下代码;
4.右键test.ahk, 选择使用autohotkey打开。

;20240723】双击关闭Chrome标签;修复无法在Windows11中在chrome最大化时无法双击关闭Chrome标签bug(仍存在双击chrome顶端栏放大缩小浏览器的时候,会关闭最近一个标签页)。
; ============================================================
#NoEnv
#SingleInstance force

IniRead, doubleclick, settings.ini, option, doubleclick, Check
menu, tray, Standard
return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

退出:
ExitApp
return

ToggleDoubleClick:
doubleclick := doubleclick = "Check" ? "UnCheck" : "Check"
IniWrite, %doubleclick%, settings.ini, option, doubleclick
return

#IfWinActive ahk_class Chrome_WidgetWin_1

~LButton::
if (doubleclick = "Check" && A_PriorHotkey = "~LButton" && A_TimeSincePriorHotkey < 250) {
    WinGetPos, , , w, h, A
    MouseGetPos, xpos, ypos
    WinGet, Mom, MinMax
    ; 获取Chrome窗口中标签栏的位置
    ControlGetPos, cx, cy, cw, ch, Chrome_RenderWidgetHostHWND1, A
    ; 确保双击事件发生在标签栏区域
    if ((Mom = 0 && ypos > 45 && ypos < 90) || (Mom = 1 && ypos > 28 && ypos < 60)) {
        ; 检查双击的水平位置是否在标签栏内(大致判断)
        if (ypos < cy + ch && xpos > 0 && xpos < w) {
            send ^w
        }
    }
}
Return

#IfWinActive

EmptyMem(PID="AHK Rocks") {
pid := (pid = "AHK Rocks") ? DllCall("GetCurrentProcessId") : pid
h := DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", pid)
DllCall("SetProcessWorkingSetSize", "UInt", h, "Int", -1, "Int", -1)
DllCall("CloseHandle", "Int", h)
}

致谢&参考脚本:
【1】本脚本根据 MaxAlex 发表的《Chrome 81 双击关闭标签页终极解决方案》修改,特此感谢。
【2】感谢“不停、”提出的此脚本存在的bug:双击放大缩小浏览器的时候,会关闭最近一个标签页。目前我还不知道怎么解决这个问题,欢迎各位帮忙提出debug方案(2024年7月更新,这个bug依然存在)。

Enjoy!

不知道谷歌什么时候可以自己把这个功能加进去。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在WEBPAGE(不是选项卡)上左键/右键或三键左键双击关闭选项卡。通过shiftKey + DC / TC重新打开选项卡。可选:一个图标... 非常重要的提示:安装后,双击“网”(不要单击!)以关闭选项卡(或者为了更安全:将选项更改为使用鼠标右键单击面或使用鼠标左键三次单击面)-实际上,这比单击速度要快。标签。详细信息请参见下文。对于那些想要“双击选项卡以关闭”的人-Google现在进行了自己的扩展以执行此操作以及更多操作。它使用一种插件机制,该机制使用编译后的二进制代码,并且存在安全风险,除非您确定可以信任作者(当然可能来自Google)。如果不使用这种机制,Chrome扩展程序将无法接收标签事件 Google的扩展程序称为Chrome工具箱。至于那个问我为什么ChromePlus可以做到的人-答案很简单,ChromePlus不是Chrome。它也有额外的二进制代码,不是Google提供的。对于那些想要“双击鼠标右键”的用户-Chrome现在解决了阻止此功能的愚蠢问题,我将其放在DCCT v1.0.8中。请下载并享受!此扩展提供了以下功能:1.双击内的任意位置双击鼠标左键或双击鼠标右键以关闭选项卡(比单击鼠标中键更快,并在按住左手或手机时敲击ctrl-w)。重要提示:如果您双击鼠标左键选择一个单词,DCCT将不会关闭选项卡-不会干扰Google词典等。双击鼠标右键始终会关闭选项卡 2.单击该图标将关闭当前选项卡。单击此选项可在单击图标时更改为复制当前选项卡,或完全隐藏图标 3.没有意外关闭Chrome-提供了禁用关闭最后一个Chrome窗口的最后一个选项卡的选项(注意:单击最后一个窗口右上角的“ x”以关闭Chrome) 4.按用户请求的功能(可选):单击或单击ctrl +单击链接时会恢复浏览器的行为-单击链接将改为在新的背景选项卡中打开链接,而ctrl + click会在当前选项卡中打开链接。其他:1.如果双击不适合您,请使用“选项”面切换到“三次单击”。注意:与双击不同,即使您双击一个单词,三次单击也会关闭选项卡 2.如果您不小心关闭了选项卡,请使用Shift键+双击(如果选择,请单击三次)以重新打开选项卡 3.如果Chrome禁用了所有与鼠标/键盘互动的扩展程序,则该图标显示红色复选标记。否则,将显示一个绿色的选中标记 4.鼠标悬停图标将为您提供一些提示/信息。已知问题:1.恢复click / ctrl-click时,使用javascript(本身或它们的父母)的链接存在问题-例如yahoo邮件。这是一个非常棘手的问题,我还没有找到解决它的方法。也许是黑名单? 2.如果“不关闭最后一个标签”功能对您来说似乎不稳定,请首先尝试-转到Chrome“选项”->“基本”,然后将“首”从“新标签”更改为“ http:/ /google.com”。然后单击“确定”,然后尝试再次关闭最后一个选项卡。希望它应该 支持语言:English
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值