Applescript 中有一些奇怪的行为。我得到了这个脚本
property tmpUrl:"http://www.example.com"
on run argv
if(count argv) > 0 then
set tmpUrl to item 1 of argv
end if
if running of application "Safari" then
tell application "Safari"
activate
make new document with properties{URL:tmpUrl}
end tell
else
tell application "Safari"
activate
set URL of document 1 to tmpUrl
end tell
end if
end run
从代码中可以看出,它应该总是打开一个新窗口。如果 Safari 已经在运行,则不需要创建新窗口。它将使用自动打开的窗口并更改位置。
当我用 scripteditor 运行它时,一切都按预期工作。但是当我从 bash 中调用它时:
osascript web_win_open.applescript "http://www.stackoverflow.com"
它总是表现得像 Safari 正在运行。因此,如果 Safari 没有运行,它会弹出两个窗口。一个带有主页,一个带有来自 cli 的位置。
有什么不同,你如何解决这个问题?