Почему редактору скриптов не нравится это редактирование? - PullRequest
0 голосов
/ 20 сентября 2019

Я получил его скрипт:

   set vURL to URL of current tab of window 1
end tell

tell application "Google Chrome"
   if windows ≠ {} then
       make new tab at the end of window 1 with properties {URL:vURL}
   else
       make new window
       set URL of (active tab of window 1) to vURL
   end if

   activate
end tell

Мне бы очень хотелось, чтобы я мог быстро открыть вкладку, которую я использую в Safari в Firefox, потому что ...

IМне сказали, чтобы добавить больше текста здесь, так что пропустите этот абзац.... у сайта, который я часто использую, есть несколько замечательных функций в Firefox, но он может загружаться медленно, поэтому мне нравится переключаться между ними.

Почему это не сработает, если я поменяю "Google Chrome" на "Firefox":

tell application "Safari"
    set vURL to URL of current tab of window 1
end tell

tell application "Firefox"
    if windows ≠ {} then
        make new tab at the end of window 1 with properties {URL:vURL}
    else
        make new window
        set URL of (active tab of window 1) to vURL
    end if

    activate
end tell

Спасибо

1 Ответ

1 голос
/ 20 сентября 2019

Вы не можете смешивать и сопоставлять термины сценариев - терминология сценариев (если таковые имеются) для данного приложения полностью зависит от разработчика и является уникальной для этого приложения.Также нет стандартной или общепринятой практики для имен терминов, поэтому любое сходство между терминами сценариев различных приложений будет чисто случайным и не обязательно обеспечит одинаковую функциональность.

Просмотр словарей сценариев для Google Chrome против Safari и Firefox :

  • Firefox на самом деле не имеет словаря сценариев, толькодоступен набор по умолчанию.В частности, окно не имеет элементов tab, active tab или URL (URL здесь также предполагается из StandardAdditions )
  • Окна Safari не имеют свойства active tab.

Вам необходимо настроить таргетинг на каждое приложение с помощью собственного оператора tell, используя терминологию, характерную для этого приложения.Также обратите внимание, что попытка сделать что-то вроде использования переменной для хранения имени приложения не будет работать, так как терминология сценариев для каждого приложения ищется при компиляции сценария.

(Редактировать из комментариев)

Чтобы открыть URL-адрес текущей вкладки Safari с помощью Firefox (версия 69.0.1 в Мохаве), вы можете сделать что-то вроде:

tell application "Safari" to set theURL to (get URL of current tab of front window)
tell application "Firefox"
    activate
    open location theURL
end tell
...