【问题标题】:Applescript open url from commandline in new windowApplescript 在新窗口中从命令行打开 url
【发布时间】:2012-12-10 16:33:21
【问题描述】:

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 的位置。

有什么不同以及如何解决这个问题?

【问题讨论】:

  • 我在 applescript 编辑器和终端中尝试过,在两种情况下都得到了相同的行为:如果 Safari 正在运行,则会打开一个新窗口;如果它没有运行,则在原始窗口中打开 url。

标签: macos bash applescript


【解决方案1】:

如果 Safari 已经在运行,则不需要创建新窗口。

您的代码似乎是倒退的。在“如果运行应用程序“Safari”下,那么当使用文档 1 的情况下,您会告诉它创建一个新文档。只需重新排列您的代码,它是向后的。

【讨论】:

  • 哈...我在寻找一些外壳问题。你说的对! +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多