1

フラッシュを表示するためにChromeにURLを送信しようとしています。その間、メモリを消費しないようにSafariを終了し、Chromeを終了したらすぐにSafariに戻ります。Chromeを終了した後、Safariに戻ることは予想どおりではないため、繰り返しループのサポートが必要です。これをサービスとして実行したい。ありがとう!

property theURL : ""

on run {input, parameters}

tell application "Google Chrome"
    activate
end tell

tell application "Safari"
    activate
end tell

tell application "System Events"
    keystroke "j" using {command down} -- Highlight the URL field.
    keystroke "c" using {command down}
    keystroke "w" using {command down}
end tell

delay 0.1

tell application "Safari"
    quit
end tell

tell application "Google Chrome"
    if (count of (every window where visible is true)) is greater than 0 then
        tell front window
            make new tab
        end tell
    else
        make new window
    end if
    set URL of active tab of front window to the clipboard
    activate
end tell

repeat
    if application "Google Chrome" is not running then exit repeat
    delay 5
end repeat

tell application "Safari"
    activate
end tell

return input
 end run

アップデート!動作するスクリプトは次のとおりです。

 property theURL : ""

 on run

tell application "Safari"
    activate
    set theURL to URL of document 1
    quit
end tell


tell application "Google Chrome"
    activate
    if (count of (every window where visible is true)) is greater than 0 then
        tell front window
            make new tab
        end tell
    else
        make new window
    end if
    set URL of active tab of window 1 to theURL
    activate tab 1
end tell

repeat
    tell application "System Events"
    if "Google Chrome" is not in (name of application processes) then exit repeat
    end tell
    delay 5
end repeat

tell application "Safari"
    activate
end tell


end run
4

1 に答える 1

3

あなたはこれを試すことができます...

repeat
    tell application "System Events"
        if "Google Chrome" is not in (name of application processes) then exit repeat
    end tell
    delay 5
end repeat

また、キーストロークやその他の GUI スクリプトの使用は、できる限り避けています。それらは 100% 信頼できるものではありません。そのため、このように URL を転送することをお勧めします...

tell application "Safari" to set theURL to URL of document 1

と...

tell application "Google Chrome" to set URL of active tab of window 1 to theURL
于 2012-04-22T02:23:00.380 に答える