views:

180

answers:

1

I'm trying to open a URL in Safari. It works fine for websites without Flash embedded, but crashes Safari for Flash sites.

Example (this WORKS):

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

This CRASHES when Safari is not already running:

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

Two things I noticed:

  • Safari only crashes for websites with embedded Flash
  • The script above only crashes if a new instance of Safari is created (i.e. Safari was not running before)

From the second observation I assume that it could be a permission issue of some sort. Maybe the Safari instance launched from the AppleScript has a problem loading plugins?

+1  A: 

Did you know "open location" is not a Safari applescript command? As such you shouldn't tell safari to run that command. "Open location" is in the standard additions to applescript and it's used to open a url in the default application that handles the url. Plus, if Safari is the default application for a user, and if it crashes if safari isn't already running, then why not launch safari first, then call your command... I haven't tried this... it's just a suggestion...

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

By the way, if you want to make sure safari is used, then you open the url like this...

tell application "Safari"
    launch
    make new document
    tell document 1 to set URL to "http://grooveshark.com"
end tell
regulus6633
Thanks for your answer. For some reason the even the first applescript now works. Maybe XCode somehow broke things. In other forums where this problem is mentioned, people also ran XCode before that error occurred.
Mark