Applescript для открытия текущей вкладки Firefox 4 в Google Chrome - PullRequest
0 голосов
/ 06 февраля 2011

Я пытаюсь написать яблочный скрипт для Apptivate, чтобы открыть текущую вкладку Firefox 4 или Safari в Google Chrome. Раздел Safari работает, и оператор if входит в Firefox, но он не копирует URL.

Вот мой яблочный скрипт, и он не работает:

tell application "System Events"
set myApp to name of first application process whose frontmost is true
if myApp is "firefox-bin" then
    tell application "Firefox" to set theURL to the «class curl» of frontmost of window 1
    tell application "Google Chrome"
        activate
        tell application "System Events" to keystroke "t" using {command down}
        set URL of last tab of window 1 to theURL
    end tell
else if myApp is "Safari" then
    tell application "Safari" to set theURL to the URL in document 1
    tell application "Google Chrome"
        activate
        tell application "System Events" to keystroke "t" using {command down}
        set URL of last tab of window 1 to theURL
    end tell
end if
end tell

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Это может быть сложно, но вы можете использовать сочетания клавиш, чтобы скопировать и открыть нужный URL-адрес в Chrome. Проверьте код:

set backupClipboard to the clipboard

on ApplicationIsRunning(appName)
    tell application "System Events" to set appNameIsRunning to exists (processes where name is appName)
    return appNameIsRunning
end ApplicationIsRunning

on copyURL(appName)
    tell application appName to activate
    tell application "System Events"
        keystroke "lc" using command down
    end tell
    delay 0.2 -- to make sure keystroke will hit cmd+l & cmd+c
end copyURL

if ApplicationIsRunning("firefox-bin") then
    copyURL("Firefox")
else if ApplicationIsRunning("Safari") then
    copyURL("Safari")
else
    return
end if

tell application "Google Chrome"
    open location (the clipboard)
    activate
end tell

set the clipboard to backupClipboard

Этот скрипт сначала сохранит ваш текущий буфер обмена, а затем проверит, какой браузер открыт. Вы можете определить приоритет браузеров, отсортировав оператор if.

Это то же самое, что нажатие cmd + L (выберите URL) и cmd + C (копия) в вашем браузере.

Кроме того, вы можете адаптировать код для поддержки других браузеров.

(функция ApplicationIsRunning от: http://vgable.com/blog/2009/04/24/how-to-check-if-an-application-is-running-with-applescript/)

0 голосов
/ 23 августа 2012

Я работаю на OS 10.4.11 на PPC, похоже, я обнаружил проблемы со скриптом с такими вещами, как 'foo tab'.Я думаю, проблема в том, что у меня такое старое устройство, что сценарии не распознают эти новые команды.Может быть, это я.

В любом случае, я хотел иметь возможность инициировать копирование URL-адреса из Firefox в Safari с помощью моей Magic Mouse и запуска драйвера magicmouse.jp.Я получил его на работу, используя следующее:

tell application "Firefox" to activate

tell application "System Events"

keystroke "lc" using command down

end tell



tell application "Safari" to activate

delay 1

tell application "System Events" to keystroke "l" using {command down}

--delay 0.2

tell application "System Events" to keystroke "v" using {command down}

tell application "System Events" to keystroke return

##############

ура.

PS Как сторонаобратите внимание, что некоторые исследования показывают, что многие люди отключают flash в Safari, а затем запускают скопированный URL-адрес, чтобы открыть его в Chrome, который, по всей видимости, должен быть более безопасным контейнером.

...