我想编写AppleScript来完成一项简单的任务。也就是说,我打开桌面1上的Safari窗口,每隔30分钟自动重新加载浏览器,同时我在桌面2上进行日常工作。
这是我的剧本:
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上的前景?
我做了几次搜索;他们中的许多人说我不应该在我的剧本中使用“激活”。我试过了,但后来剧本什么都不做。
答案 0 :(得分:2)
您只需获取文档1 的网址,然后告诉Safari设置文档1的网址 到那个网址。
效果是页面将重新加载。当你在另一个空间时,不用将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