取消双手,使用MacBook的快捷指令帮助看帖

快捷指令 (Shortcuts) 中添加一个“运行 AppleScript (Run AppleScript)”动作;

(*
  Safari Auto-Scroll (minimal design)
  -----------------------------
  1) 在开始时,简易对话框询问:滚动速度(s)、方向(上/下)。
  2) 在 Safari 当前页里通过 JS 的 window.scrollBy(...) 实现自动滚动。
  3) 循环滚动直到用户在 Shortcuts 中点击“停止”。
  4) 若要加速/减速/调转方向,只需停止后再次运行脚本,改参数即可。
*)

on run {input, parameters}
    -- ========== 1. 简易对话框获取基本设置 ==========

    -- 询问滚动速度:间隔秒数(越小越快)
    -- 这里给出默认值 0.2 秒
    display dialog "请输入滚动速度(秒):\n(数值越小滚动越快,建议 0.1~0.5)" default answer "0.2" with title "滚动速度设置" buttons {"确定", "取消"} default button 1 cancel button 2
    set speedText to text returned of result
    set scrollInterval to speedText as number
    
    -- 询问方向:上 or 下
    set directionChoice to choose from list {"下", "上"} with prompt "选择滚动方向" with title "滚动方向"
    if directionChoice is false then
        return "用户取消" -- 用户点“取消”时
    end if
    
    set scrollDirection to item 1 of directionChoice
    
    -- ========== 2. 检查 Safari 并准备滚动 ==========

    tell application "Safari"
        if not (exists document 1) then
            display alert "Safari 中没有打开网页,请先在 Safari 打开一个网页。"
            return "未执行滚动"
        end if
    end tell
    
    -- ========== 3. 执行滚动循环 ==========

    display dialog "开始滚动。\n可在 Shortcuts 中点击“停止”随时结束。" buttons {"OK"} default button 1
    
    (*
      这里设置单次的滚动像素值(步长)
      你可以根据需要做成可再询问的参数,也可写死一个默认值。
      设为正数:向下滚动
      设为负数:向上滚动
    *)
    if scrollDirection is "下" then
        set scrollStep to 20
    else
        set scrollStep to -20
    end if
    
    -- 无限大循环(999999次)
    set maxRepeat to 999999
    repeat maxRepeat times
        tell application "Safari"
            do JavaScript ("window.scrollBy(0," & scrollStep & ");") in document 1
        end tell
        
        delay scrollInterval
    end repeat
    
    return "完成滚动"
end run

弄好脚本,退出来回到快捷指令界面,点击运行,打开要看的帖子,选择速度方向就可以了,不要滑了就去快捷指令停止就行了

5 个赞

感谢大佬

1 个赞

刚换的 Mac pro ,就用上了。感谢佬友的分享!:+1:

1 个赞