AppleScript:在 Safari Windows 之间切换?
AppleScript: Toggle Between Safari Windows?
如果我有两个 safari windows 打开,每个只有一个选项卡,我如何让 applescript 随意切换到 windows 中的任何一个?或者换句话说,在它们之间切换。
我试过了,activate window 1
(或者,第一个 window),和 activate window 2
(或者第二个 window),只会激活第一个 window.
我试过open window 1
等等,打开不存在。
我尝试使用系统事件,click menu bar 1 option
,认为菜单栏 2 可能是 window 2 的,但没有用。
我尝试让 do javascript
在特定选项卡上显示该页面,但无法正常工作。
最终我确实发现我可以使用键盘快捷键,但我想看看是否有更多 'vanilla' applescript 方式。
如果windows不是全屏(在不同的空间)只需更改window
的index
tell application "Safari"
set index of window 2 to 1
end tell
如果 windows 位于不同的空间,您必须通过使用 System Events
执行击键来切换空间。美式键盘上的默认值是⌃←
tell application "System Events"
key code 123 using (control down)
end tell
和⌃→
tell application "System Events"
key code 124 using (control down)
end tell
当我这样做的时候
tell application "Safari"
set index of window 2 to 1
end tell
出现的新window被冻结了。我通过这样做解决了这个问题
tell application "Safari"
set theWindows to windows
set win2 to item 2 of theWindows
tell win2
set visible to false
set visible to true
set index to 1
end tell
activate
end tell
如果我有两个 safari windows 打开,每个只有一个选项卡,我如何让 applescript 随意切换到 windows 中的任何一个?或者换句话说,在它们之间切换。
我试过了,activate window 1
(或者,第一个 window),和 activate window 2
(或者第二个 window),只会激活第一个 window.
我试过open window 1
等等,打开不存在。
我尝试使用系统事件,click menu bar 1 option
,认为菜单栏 2 可能是 window 2 的,但没有用。
我尝试让 do javascript
在特定选项卡上显示该页面,但无法正常工作。
最终我确实发现我可以使用键盘快捷键,但我想看看是否有更多 'vanilla' applescript 方式。
如果windows不是全屏(在不同的空间)只需更改window
的index
tell application "Safari" set index of window 2 to 1 end tell
如果 windows 位于不同的空间,您必须通过使用
System Events
执行击键来切换空间。美式键盘上的默认值是⌃←tell application "System Events" key code 123 using (control down) end tell
和⌃→
tell application "System Events" key code 124 using (control down) end tell
当我这样做的时候
tell application "Safari"
set index of window 2 to 1
end tell
出现的新window被冻结了。我通过这样做解决了这个问题
tell application "Safari"
set theWindows to windows
set win2 to item 2 of theWindows
tell win2
set visible to false
set visible to true
set index to 1
end tell
activate
end tell