Почему я получаю синтаксическую ошибку на этом AppleScript для перезагрузки всех вкладок в Safari? - PullRequest
0 голосов
/ 12 февраля 2019

Получение ошибки в следующем скрипте, который я скопировал, чтобы перезагрузить все вкладки в сеансе Safari.

tell application "Safari"
    set a to tabs of the front window
    repeat with x in a
        set docUrl to URL of x
        set URL of x to docUrl
    end repeat
end tell

Сообщение об ошибке: «Safari получил ошибку: не удается преобразовать пропущенное значение в текст текста».

Похоже, что ошибка в строке "установите URL-адрес x для docUrl"

Это моя первая попытка кодирования в AppleScript, поэтому, пожалуйста, простите любые глупые ошибки.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Это будет работать, если у вас есть несколько окон с несколькими открытыми вкладками.Это работает для меня, используя последнюю версию MacOS Mojave

tell application "Safari"
    set theTabs to every document
    repeat with eachTab in theTabs
        tell eachTab to set URL to (get URL)
    end repeat
end tell
0 голосов
/ 12 февраля 2019

Возможно, свойство URL вкладки вернет missing value, хотя на вкладке отображаются действительные данные.

Более надежный способ перезагрузить все вкладки - это строка JavaScript

tell application "Safari"
    set allTabs to tabs of the front window
    repeat with aTab in allTabs
        tell aTab to do JavaScript "location.reload();"
    end repeat
end tell
...