AppleScript在Safari中打开网址导致基于Flash的网站崩溃

问题描述:

我想在Safari中打开一个URL。它适用于没有嵌入Flash的网站,但为Flash网站崩溃Safari。AppleScript在Safari中打开网址导致基于Flash的网站崩溃

实例(这工作):

tell application "Safari" to open location "http://google.com" 

这种崩溃,当Safari浏览器尚未运行:

tell application "Safari" to open location "http://grooveshark.com" 

两件事情,我注意到:

  • Safari浏览器只崩溃与网站嵌入式Flash
  • 上面的脚本只会崩溃如果创建了Safari的新实例(即Safari浏览器没有从第二个观察我认为它可能是某种形式的权限问题之前运行)

。也许从AppleScript启动的Safari实例在加载插件时有问题?

+0

不是一个applescript问题。 [NSWorkspace openURL:]同样发生在这里:http://www.idevgames.com/mybb/showthread.php?tid=1886 – Mark 2010-06-04 06:47:22

+0

实际上,也许它也是一个Applescript问题。我注意到只有当测试程序从XCode启动时才会出现NSWorkspace崩溃。从Finder启动它工作正常。但是,在脚本编辑器中运行时,上面的Applescript失败。 – Mark 2010-06-04 07:00:09

您知道“open location”不是Safari的applescript命令吗?因此,您不应该让Safari浏览器运行该命令。 “打开位置”是苹果脚本的标准添加,它用于在处理URL的默认应用程序中打开一个URL。另外,如果Safari是用户的默认应用程序,并且如果safari尚未运行,它会崩溃,那么为什么不首先启动safari,然后调用您的命令...我没有试过这个...它只是一个建议...

tell application "Safari" to launch 
open location "http://grooveshark.com" 

顺便说一句,如果你想确保使用Safari,那么你打开这样的网址...

tell application "Safari" 
    launch 
    make new document 
    tell document 1 to set URL to "http://grooveshark.com" 
end tell 
+0

感谢您的回答。出于某种原因,甚至第一个苹果现在的作品。也许XCode以某种方式破坏了事情。在提及此问题的其他论坛中,人们还在发生错误之前运行XCode。 – Mark 2010-06-05 10:13:21

我曾经碰到过类似的问题,一些在Xcode上工作的时候。后来我意识到这是由Flash中的资产引起的。如果你把你的applescript变成一个应用程序,应该解决问题。

在Xcode上,进入Run - > Stop on Debugger()/ DebugStr()并取消选中该选项,如果它打开并再次构建应用程序。