AppleScript, чтобы открыть URL в сбоях Safari для сайтов на базе Flash - PullRequest
0 голосов
/ 04 июня 2010

Я пытаюсь открыть URL в Safari. Он отлично работает на сайтах без встроенной Flash, но вылетает 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 раньше не работал)

Из второго наблюдения я предполагаю, что это может быть какая-то проблема с разрешениями. Может быть, экземпляр Safari, запущенный из AppleScript, имеет проблему с загрузкой плагинов?

Ответы [ 2 ]

1 голос
/ 05 июня 2010

Знаете ли вы, что "open location" не является командой Safari AppleScript? Таким образом, вы не должны указывать сафари запускать эту команду. «Открытое местоположение» входит в стандартное дополнение к applecript и используется для открытия URL-адреса в приложении по умолчанию, которое обрабатывает URL-адрес. Плюс, если Safari является приложением по умолчанию для пользователя, и если он падает, если safari еще не запущен, то почему бы сначала не запустить safari, а затем вызвать вашу команду ... Я не пробовал это ... это просто предложение ...

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

Кстати, если вы хотите убедиться, что сафари используется, то вы открываете URL вот так ...

tell application "Safari"
    launch
    make new document
    tell document 1 to set URL to "http://grooveshark.com"
end tell
0 голосов
/ 19 января 2011

Я столкнулся с подобной проблемой некоторое время назад, работая над Xcode. Позже я понял, что это было вызвано активом во Flash. Если вы превратите свой appleScript в приложение, проблема должна быть решена.

В Xcode перейдите в Run -> Stop on Debugger () / DebugStr () и снимите флажок, если он включен, и соберите ваше приложение снова.

...