Ошибка синтаксиса Apple Script - PullRequest
0 голосов
/ 19 января 2012

При запуске следующего скрипта:

on run
  tell application "Safari"
    set allWins to every window
    set allTabs to {}
    repeat with currWin in allWins
      set allTabs to allTabs & every tab of currWin
    end repeat
    repeat with currTab in allTabs
      try
        if ((characters -10 thru -1 of (title of currTab as string)) as string) = "Google Music" then set musicTab to currTab
      end try
    end repeat
    tell musicTab
        execute javascript "SJBpost(\"playPause\");"
    end tell
  end tell
end run

получен синтаксис Ошибка Expected end of line but found identifier. и javascript становится подсвеченным.

Я использую Automator и пытаюсь создать горячие клавиши для музыки Google, следуя этой статье.

1 Ответ

2 голосов
/ 19 января 2012

Возможно, вы захотите прочитать связанную статью чуть ближе:

Если вы используете Safari, измените «Google Chrome» в первой строке на «Safari», измените название слова (около середины) на «name» и измените слово «execute» в строке с третьей по последнюю. делать.

Поэтому попробуйте заменить:

tell musicTab
    execute javascript "SJBpost(\"playPause\");"

с:

tell musicTab to do javascript "SJBpost('playPause');"

Вы также не выполнили вторую инструкцию этого абзаца change the word title (near the middle) to name. Со всеми этими изменениями становится:

on run
  tell application "Safari"
                    ^^^^^^
    set allWins to every window
    set allTabs to {}
    repeat with currWin in allWins
      set allTabs to allTabs & every tab of currWin
    end repeat
    repeat with currTab in allTabs
      try
        if ((characters -12 thru -1 of (name of currTab as string)) as string) = "Google Music" then set musicTab to currTab
                        ^^^             ^^^^                                      ^^^^^^^^^^^^
      end try
    end repeat
    tell musicTab to do javascript "SJBpost('playPause');"
                     ^^
  end tell
end run

Удалите три строки, содержащие ^^^ символьные маркеры, они как раз там, чтобы сделать это как можно более очевидным.

И, согласно Курту Рудольфу, теперь он называется Google Music (больше не в бета-версии), поэтому мы изменили определение заголовка вкладки, чтобы соответствовать.

К сожалению, вам придется проверить это самостоятельно, поскольку все, что я вижу, это:

We're sorry. Google Music is currently only available in the United States

Вероятно, там, где RIAA будет меньше проблем с тем, чтобы тащить меня в суд: -)

...