Ist es möglich, eine Anwendung mit AppleScript neu zu starten?

7

Ich möchte Safari neu starten und mit einigen von mir festgelegten Registerkarten erneut öffnen.

Kentzo
quelle

Antworten:

8

Eine alternative Methode ist die Verwendung der in Safari integrierten Funktion "Alle Windows von letzter Sitzung neu öffnen":

tell application "Safari"
    quit
end tell

delay 2 -- Wait for Safari to close

tell application "Safari" to activate
tell application "System Events"
    tell process "Safari"
        click menu item "Reopen All Windows From Last Session" of menu "History" of menu bar 1
    end tell
end tell
Chealion
quelle
Dies ist viel flüssiger, wenn man nur Tabs / Fenster wieder öffnet, als die Skripte, die ich gefunden habe (Zahlen, sie waren alt!). +1! Ein einfaches Beenden und erneutes Öffnen derselben Registerkarten ist jedoch möglicherweise nicht so nützlich. Wenn Sie die ersten 5 Zeilen überspringen, können Sie Safari jedoch hervorragend starten. =)
Lizzan
1
@Lizzan Nun, Sie sagten, Sie wollten "Safari neu starten und erneut öffnen", und Chealion ging davon aus, dass Sie sie schließen und erneut öffnen wollten. Wenn Ihre Safari jetzt beendet ist, ist der Abschluss-Teil natürlich nicht erforderlich. :)
Martin Marconcini
@ Martín Marconcini Nun, ich Das hat das OP nicht gesagt, daher war ich mir nicht sicher, ob das OP die geöffneten Registerkarten erneut öffnen oder eine bestimmte Gruppe von Registerkarten beenden und öffnen wollte. =)
Lizzan
@ Lizzan du hast recht mein Fehler, ich dachte du wärst der OP;)
Martin Marconcini
Wie verwende ich dieses Skript?
testing
3

Windows / Tabs aus einer Sitzung speichern und wieder öffnen können, Hier gibt es eine Lösung: http://hints.macworld.com/article.php?story=20030913153245341 Lesen Sie unbedingt die Kommentare, anscheinend wurden die Skripte mehrfach aktualisiert. Bearbeiten: Verwenden Sie einfach die Antwort von Chealion, viel flüssiger.

Wenn Sie nur einen bestimmten Satz von Registerkarten öffnen möchten, können Sie dieses Skript verwenden:

tell application "Safari"
    set urllist to {"http://google.com", "http://stackoverflow.com", "http://apple.stackexchange.com"}

    repeat with i from 1 to number of items in urllist
        set URL of document 1 to item i of urllist
        if i is less than number of items in urllist then
            my new_tab()
        end if
    end repeat
end tell

on new_tab()
    tell application "Safari" to activate
    tell application "System Events"
        tell process "Safari"
            click menu item "New Tab" of menu "File" of menu bar 1
        end tell
    end tell
end new_tab

Listen Sie einfach die Adressen der Seiten auf, die Sie zwischen dem {} in Zeile 2. Jede Adresse innerhalb "" und getrennt durch ,.

Lizzan
quelle