You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AppleScript实现Safari窗口间的切换(Toggle)?

Toggle Between Two Single-Tab Safari Windows with AppleScript

我完全懂你想要的那种无缝切换体验——两个各带一个标签页的Safari窗口,一键来回切。之前试的那些方法没成功确实闹心,这里有个纯原生的AppleScript方案,完美解决这个问题:

tell application "Safari"
    -- 获取当前处于最前端的窗口
    set currentActiveWindow to front window
    -- 获取所有打开的Safari窗口列表
    set allSafariWindows to every window
    
    -- 确保当前只有两个窗口(符合你的使用场景)
    if (count of allSafariWindows) = 2 then
        -- 判断当前窗口是第一个还是第二个,切换到另一个
        if currentActiveWindow = item 1 of allSafariWindows then
            set frontmost of item 2 of allSafariWindows to true
        else
            set frontmost of item 1 of allSafariWindows to true
        end if
    end if
end tell

为什么这个脚本能生效?

你之前用activate window 1或者activate window 2没成功,核心原因是Safari对activate命令的响应不如直接设置frontmost属性可靠。frontmost是应用窗口的原生属性,设置为true就能直接把窗口带到最前面,完全符合你要的Toggle逻辑。

补充说明

  • 这个脚本专门针对你“两个窗口各一个标签页”的场景,判断窗口数量为2才执行切换,避免多窗口时出错。
  • 如果之后你偶尔打开更多窗口,但还是想固定切换某两个,也可以给目标窗口加名称标记(比如给窗口重命名),然后通过窗口名称来定位切换,但对你当前的需求来说,上面的脚本已经足够简洁高效。

内容的提问来源于stack exchange,提问作者djbritt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 18:27:27