gpt4 book ai didi

AppleScript:当我在其他桌面空间时,如何在不将窗口置于前台的情况下重新加载 Safari 窗口

转载 作者:行者123 更新时间:2023-12-02 04:40:35 24 4
gpt4 key购买 nike

我想写一个 AppleScript 来完成一个简单的任务。也就是说,当我在桌面 2 上进行日常工作时,我在桌面 1 上打开一个 Safari 窗口并每 30 分钟自动重新加载一次浏览器。

这是我的脚本:

tell application "Safari"
activate
tell application "System Events"
tell process "Safari"
keystroke "r" using {command down}
end tell
end tell
end tell

这个脚本有效。但是,无论何时执行脚本,我当前的桌面 2 都会返回到桌面 1。这会分散我的工作流程。

有没有办法让 Safari 在后台重新加载而不将 Safari 窗口带到桌面 1 的前台?

我已经做了几次搜索;他们中的许多人说我不应该在我的脚本中使用“activate”。我试过了,但是脚本什么都不做。

最佳答案

您可以简单地获取文档 1URL,然后告诉 Safari 设置文档 1URL> 到那个 URL。

效果是页面将重新加载。当您在另一个空间时,无需将 Safari 调到最前面或跳转到 Safari。

    tell application "Safari"
set docUrl to URL of document 1

set URL of document 1 to docUrl
end tell

也是一个简单的空闲处理程序,并保存为一个应用程序(选中保持打开状态),它将每 1 分钟运行一次,但当 Safari 处于最前端时则不会。即当您实际使用它时。

on idle

set frontApp to name of application (path to frontmost application as text)

if frontApp is not equal to "Safari" then
tell application "Safari"
set docUrl to URL of document 1

set URL of document 1 to docUrl
end tell

end if
return 60
end idle

关于AppleScript:当我在其他桌面空间时,如何在不将窗口置于前台的情况下重新加载 Safari 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20925453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com