2011-02-06 3 views
0

Apptivate 용 AppleScript를 작성하여 Google 크롬에서 현재 Firefox 4 또는 Safari 탭을 열려고합니다. Safari 절이 작동하고 if 문이 Firefox로 들어가지만 URL을 복사하지는 않습니다. 여기Chrome에서 현재 Firefox 4 탭을 열려면 AppleScript로

내 AppleScript로이며 작동하지 않습니다

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 

나는 무엇을 놓치고?

답변

1

이 작업은 다소 번거로울 수 있지만 키보드 단축키를 사용하여 Chrome에서 원하는 URL을 복사하고 열 수 있습니다. 코드를 확인하십시오 :

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

나는 PPC에 OS 10.4.11을 실행하고, 나는 'foo는 탭'와 같은 것들로 스크립트에 문제를 찾을 것으로 보인다. 문제는 스크립팅이 이러한 새로운 명령을 인식하지 못하는 오래된 장치를 갖고 있다고 생각합니다. 아마 나야.

어쨌든 magicmouse.jp 드라이버를 실행하는 Magic Mouse를 사용하여 Firefox에서 Safari로 URL 사본을 트리거 할 수 있기를 원했습니다. 나는 다음과 같은 사용하여 작업 할 그것을 가지고 :

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 

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

환호.

P. 참고로이 문제에 대한 조사에 따르면 Safari에서 플래시를 사용 중지 한 다음 Chrome에서 열리는 복사 된 URL을 트리거하는 사람들이 생겨났습니다. Chrome은 안전한 컨테이너 여야합니다.